Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src



Module Name:    src
Committed By:   ad
Date:           Mon Apr 28 15:36:01 UTC 2008

Modified Files:
        src/sys/dev: lockstat.c lockstat.h
        src/sys/kern: kern_exit.c kern_lock.c kern_lwp.c kern_ras.c
            kern_softint.c kern_synch.c kern_turnstile.c subr_percpu.c
            subr_pool.c
        src/sys/sys: cpu.h lwp.h sched.h userret.h
        src/usr.sbin/lockstat: main.c

Log Message:
Add MI code to support in-kernel preemption. Preemption is deferred by
one of the following:

- Holding kernel_lock (indicating that the code is not MT safe).
- Bracketing critical sections with kpreempt_disable/kpreempt_enable.
- Holding the interrupt priority level above IPL_NONE.

Statistics on kernel preemption are reported via event counters, and
where preemption is deferred for some reason, it's also reported via
lockstat. The LWP priority at which preemption is triggered is tuneable
via sysctl.


To generate a diff of this commit:
cvs rdiff -r1.13 -r1.14 src/sys/dev/lockstat.c
cvs rdiff -r1.7 -r1.8 src/sys/dev/lockstat.h
cvs rdiff -r1.205 -r1.206 src/sys/kern/kern_exit.c
cvs rdiff -r1.138 -r1.139 src/sys/kern/kern_lock.c
cvs rdiff -r1.106 -r1.107 src/sys/kern/kern_lwp.c
cvs rdiff -r1.28 -r1.29 src/sys/kern/kern_ras.c
cvs rdiff -r1.16 -r1.17 src/sys/kern/kern_softint.c
cvs rdiff -r1.230 -r1.231 src/sys/kern/kern_synch.c
cvs rdiff -r1.18 -r1.19 src/sys/kern/kern_turnstile.c
cvs rdiff -r1.6 -r1.7 src/sys/kern/subr_percpu.c
cvs rdiff -r1.158 -r1.159 src/sys/kern/subr_pool.c
cvs rdiff -r1.19 -r1.20 src/sys/sys/cpu.h
cvs rdiff -r1.89 -r1.90 src/sys/sys/lwp.h
cvs rdiff -r1.52 -r1.53 src/sys/sys/sched.h
cvs rdiff -r1.12 -r1.13 src/sys/sys/userret.h
cvs rdiff -r1.12 -r1.13 src/usr.sbin/lockstat/main.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



Home | Main Index | Thread Index | Old Index