cvs commit: src/sys/kern kern_kse.c
Jeff Roberson
jeff at FreeBSD.org
Mon Jun 4 23:54:28 UTC 2007
jeff 2007-06-04 23:54:27 UTC
FreeBSD src repository
Modified files:
sys/kern kern_kse.c
Log:
Commit 7/14 of sched_lock decomposition.
- Use thread_lock() rather than sched_lock for per-thread scheduling
sychronization.
- Use the per-process spinlock rather than the sched_lock for per-process
scheduling synchronization.
- Use a global kse spinlock to protect upcall and thread assignment. The
per-process spinlock can not be used because this lock must be acquired
via mi_switch() where we already hold a thread lock. The kse spinlock
is a leaf lock ordered after the process and thread spinlocks.
Tested by: kris, current@
Tested on: i386, amd64, ULE, 4BSD, libthr, libkse, PREEMPTION, etc.
Discussed with: kris, attilio, kmacy, jhb, julian, bde (small parts each)
Revision Changes Path
1.230 +82 -58 src/sys/kern/kern_kse.c
More information about the cvs-src
mailing list