cvs commit: src/sys/kern sched_ule.c

Jeff Roberson jeff at FreeBSD.org
Tue Apr 1 22:46:44 PST 2003


jeff        2003/04/01 22:46:43 PST

  FreeBSD src repository

  Modified files:
    sys/kern             sched_ule.c 
  Log:
   - Add in support for KSEs with 0 slice values on the run queue.  If we try
     to select a KSE with a slice of 0 we will update its slice and insert it
     onto the next queue.
   - Pass the KSE instead of the ksegrp into sched_slice().  This more
     accurately reflects the behavior of the code.  Slices are granted to kses.
   - Add a function kseq_nice_min() which finds the smallest nice value
     assigned to the kseg of any KSE on the queue.
   - Rewrite the logic in sched_slice().  Add a large comment describing the
     new slice selection scheme.  To summarize, slices are assigned based on
     the nice value.  Priorities are still calculated based on the nice and
     interactivity of a process.  Slice sizes of 0 may be granted for KSEs
     whos nice is 20 or futher away from the lowest nice on the run queue.
     Other nice values are scaled across the range [min, min+20].  This fixes
     ULEs bad behavior with positively niced processes.
  
  Revision  Changes    Path
  1.17      +91 -35    src/sys/kern/sched_ule.c


More information about the cvs-src mailing list