cvs commit: src/sys/kern sched_ule.c

Jeff Roberson jeff at FreeBSD.org
Tue Aug 10 00:52:22 PDT 2004


jeff        2004-08-10 07:52:22 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             sched_ule.c 
  Log:
   - Use a new flag, KEF_XFERABLE, to record with certainty that this kse had
     contributed to the transferable load count.  This prevents any potential
     problems with sched_pin() being used around calls to setrunqueue().
   - Change the sched_add() load balancing algorithm to try to migrate on
     wakeup.  This attempts to place threads that communicate with each other
     on the same CPU.
   - Don't clear the idle counts in kseq_transfer(), let the cpus do that when
     they call sched_add() from kseq_assign().
   - Correct a few out of date comments.
   - Make sure the ke_cpu field is correct when we preempt.
   - Call kseq_assign() from sched_clock() to catch any assignments that were
     done without IPI.  Presently all assignments are done with an IPI, but I'm
     trying a patch that limits that.
   - Don't migrate a thread if it is still runnable in sched_add().  Previously,
     this could only happen for KSE threads, but due to changes to
     sched_switch() all threads went through this path.
   - Remove some code that was added with preemption but is not necessary.
  
  Revision  Changes    Path
  1.120     +76 -34    src/sys/kern/sched_ule.c


More information about the cvs-all mailing list