#
302408 |
|
07-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
220433 |
|
07-Apr-2011 |
jkim |
Use atomic load & store for TSC frequency. It may be overkill for amd64 but safer for i386 because it can be easily over 4 GHz now. More worse, it can be easily changed by user with 'machdep.tsc_freq' tunable (directly) or cpufreq(4) (indirectly). Note it is intentionally not used in performance critical paths to avoid performance regression (but we should, in theory). Alternatively, we may add "virtual TSC" with lower frequency if maximum frequency overflows 32 bits (and ignore possible incoherency as we do now).
|
#
214347 |
|
25-Oct-2010 |
jhb |
Use 'saveintr' instead of 'savecrit' or 'eflags' to hold the state returned by intr_disable().
Requested by: bde
|
#
130585 |
|
16-Jun-2004 |
phk |
Do the dreaded s/dev_t/struct cdev */ Bump __FreeBSD_version accordingly.
|
#
126080 |
|
21-Feb-2004 |
phk |
Device megapatch 4/6:
Introduce d_version field in struct cdevsw, this must always be initialized to D_VERSION.
Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing four D_NOGIANT flags and adding 145 D_NEEDGIANT flags.
|
#
126076 |
|
21-Feb-2004 |
phk |
Device megapatch 1/6:
Free approx 86 major numbers with a mostly automatically generated patch.
A number of strategic drivers have been left behind by caution, and a few because they still (ab)use their major number.
|
#
119452 |
|
25-Aug-2003 |
obrien |
Fix copyright comment & FBSDID style nits.
Requested by: bde
|
#
119087 |
|
18-Aug-2003 |
jhb |
Add missing header include for MSR macros.
Submitted by: bde
|
#
118955 |
|
15-Aug-2003 |
jhb |
- Fix a typo in a comment. - Use macros for MSR register indexes as well as the bitfields in the APICBASE MSR.
|
#
115683 |
|
02-Jun-2003 |
obrien |
Use __FBSDID().
|
#
111815 |
|
03-Mar-2003 |
phk |
Gigacommit to improve device-driver source compatibility between branches:
Initialize struct cdevsw using C99 sparse initializtion and remove all initializations to default values.
This patch is automatically generated and has been tested by compiling LINT with all the fields in struct cdevsw in reverse order on alpha, sparc64 and i386.
Approved by: re(scottl)
|
#
92860 |
|
21-Mar-2002 |
imp |
Fix abuses of cpu_critical_{enter,exit} by converting to intr_{disable,restore} as well as providing an implemenation of intr_{disable,restore}.
Reviewed by: jake, rwatson, jhb
|
#
92770 |
|
20-Mar-2002 |
alfred |
Remove __P.
|
#
92651 |
|
19-Mar-2002 |
alc |
Add #include so that the previous change compiles.
|
#
92649 |
|
19-Mar-2002 |
alfred |
fix perfmon for DEVFS.
PR: kern/36008
|
#
88088 |
|
17-Dec-2001 |
jhb |
Modify the critical section API as follows: - The MD functions critical_enter/exit are renamed to start with a cpu_ prefix. - MI wrapper functions critical_enter/exit maintain a per-thread nesting count and a per-thread critical section saved state set when entering a critical section while at nesting level 0 and restored when exiting to nesting level 0. This moves the saved state out of spin mutexes so that interlocking spin mutexes works properly. - Most low-level MD code that used critical_enter/exit now use cpu_critical_enter/exit. MI code such as device drivers and spin mutexes use the MI wrappers. Note that since the MI wrappers store the state in the current thread, they do not have any return values or arguments. - mtx_intr_enable() is replaced with a constant CRITICAL_FORK which is assigned to curthread->td_savecrit during fork_exit().
Tested on: i386, alpha
|
#
83366 |
|
12-Sep-2001 |
julian |
KSE Milestone 2 Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process.
Sorry john! (your next MFC will be a doosie!)
Reviewed by: peter@freebsd.org, dillon@freebsd.org
X-MFC after: ha ha ha ha
|
#
74903 |
|
28-Mar-2001 |
jhb |
Switch from save/disable/restore_intr() to critical_enter/exit().
|
#
74810 |
|
26-Mar-2001 |
phk |
Send the remains (such as I have located) of "block major numbers" to the bit-bucket.
|
#
65557 |
|
06-Sep-2000 |
jasone |
Major update to the way synchronization is done in the kernel. Highlights include:
* Mutual exclusion is used instead of spl*(). See mutex(9). (Note: The alpha port is still in transition and currently uses both.)
* Per-CPU idle processes.
* Interrupts are run in their own separate kernel threads and can be preempted (i386 only).
Partially contributed by: BSDi (BSD/OS) Submissions by (at least): cp, dfr, dillon, grog, jake, jhb, sheldonh
|
#
51658 |
|
25-Sep-1999 |
phk |
Remove five now unused fields from struct cdevsw. They should never have been there in the first place. A GENERIC kernel shrinks almost 1k.
Add a slightly different safetybelt under nostop for tty drivers.
Add some missing FreeBSD tags
|
#
50477 |
|
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
50257 |
|
23-Aug-1999 |
phk |
Now that we can bind cdevsw to the individual dev_t, divorce the PERFMON stuff from mem.c. If PERFMON is there, it will "steal" a minor from mem.c, but mem.c doesn't need to know about this.
Fixed type of cmd argument in perfmon_ioctl().
|
#
46945 |
|
10-May-1999 |
alc |
The Intel Pentium Pro's performance counters are 40 bits wide. The Intel manuals specifically say that reading the counters using the rdmsr instruction returns a 64 bit value of which the higher 24 bits are undefined. The code that reads the counters should then clear the high 24 bits.
PR: i386/10632
|
#
42543 |
|
11-Jan-1999 |
eivind |
Silence warnings.
|
#
41591 |
|
07-Dec-1998 |
archie |
The "easy" fixes for compiling the kernel -Wunused: remove unreferenced static and local variables, goto labels, and functions declared but not defined.
|
#
32106 |
|
29-Dec-1997 |
phk |
Fix a include gottcha in the SMP case.
Submitted by: Simon Shapiro <Shimon@Simon-Shapiro.ORG>
|
#
32054 |
|
28-Dec-1997 |
phk |
More cleanup relating to our use of the TSC. Look in the cpu_feature (CPUID output) to see if we have it.
|
#
32005 |
|
26-Dec-1997 |
phk |
Rename "i586_ctr" to "tsc" (both upper and lower case instances). Fix a couple of printfs too.
Warning: This changes the names of a couple of kernel options!
|
#
30813 |
|
28-Oct-1997 |
bde |
Removed unused #includes.
|
#
27132 |
|
30-Jun-1997 |
bde |
Added ifdefs so that this compiles when neither I586_CPU nor I586_CPU is defined, or SMP is defined. It is silly to configure PERFMON when it can't work (it will be disabled at runtime), but I like to leave the PERFMON configuration alone when I temporarily disable support for modern CPUs to run regression tests.
Removed an unused #include.
|
#
22975 |
|
22-Feb-1997 |
peter |
Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not ready for it yet.
|
#
21673 |
|
14-Jan-1997 |
jkh |
Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
|
#
18854 |
|
10-Oct-1996 |
bde |
Added missing include of "opt_cpu.h". I missed it because PERFMON features are used without testing for i586 features that they depend on. Configuring option PERFMON without configuring a suitable cpu still doesn't fail right.
|
#
17395 |
|
02-Aug-1996 |
bde |
Eliminated i586_ctr_rate. Use i586_ctr_freq instead.
|
#
16322 |
|
12-Jun-1996 |
gpalmer |
Clean up -Wunused warnings.
Reviewed by: bde
|
#
14922 |
|
29-Mar-1996 |
wollman |
There is no need to zero out the TSC when configuring a counter, says Mike Haertel.
|
#
14893 |
|
28-Mar-1996 |
wollman |
Sync up the Pentium implementation with the documentation. Previously, the sense of the E flag was reversed on Pentiums.
|
#
14888 |
|
28-Mar-1996 |
wollman |
Nit: according to the Harvard code, it is necessary to clear the timestamp counter before loading the performance-monitor control register. I'm not sure I believe this, but we'll follow their lead for the moment. As a result of this commit, the performance-monitoring test program that I wrote now works (the program will find its way to share/examples).
|
#
14860 |
|
27-Mar-1996 |
wollman |
A slightly-closer-to-working version that includes code appropriate to regular Pentiums. Unfortunately, it doesn't work on mine, but I'm not sure if this is the fault of the driver.
|
#
14825 |
|
26-Mar-1996 |
wollman |
Add support for Pentium and Pentium Pro performance counters. (This code is as yet untested; to come after man page is written.) This also adds inlines to cpufunc.h for the RDTSC, RDMSR, WRMSR, and RDPMC instructions. The user-mode interface is via a subdevice of mem.c; there is also a kernel-size interface which might be used to aid profiling.
|