cvs commit: src/sys/kern sched_ule.c
Jeff Roberson
jeff at FreeBSD.org
Tue Jul 17 22:53:24 UTC 2007
jeff 2007-07-17 22:53:24 UTC
FreeBSD src repository
Modified files:
sys/kern sched_ule.c
Log:
ULE 3.0: Fine grain scheduler locking and affinity improvements. This has
been in development for over 6 months as SCHED_SMP.
- Implement one spin lock per thread-queue. Threads assigned to a
run-queue point to this lock via td_lock.
- Improve the facility for assigning threads to CPUs now that sched_lock
contention no longer dominates scheduling decisions on larger SMP
machines.
- Re-write idle time stealing in an attempt to make it less damaging to
general performance. This is still disabled by default. See
kern.sched.steal_idle.
- Call the long-term load balancer from a callout rather than sched_clock()
so there are no locks held. This is disabled by default. See
kern.sched.balance.
- Parameterize many scheduling decisions via sysctls. Try to document
these via sysctl descriptions.
- General structural and naming cleanups.
- Document each function with comments.
Tested by: current@ amd64, x86, UP, SMP.
Approved by: re
Revision Changes Path
1.200 +917 -549 src/sys/kern/sched_ule.c
More information about the cvs-src
mailing list