cvs commit: src/sys/kern kern_kse.c

Jeff Roberson jeff at
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 
  Commit 7/14 of sched_lock decomposition.
   - Use thread_lock() rather than sched_lock for per-thread scheduling
   - 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