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-all mailing list