Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Apr 2003 20:47:14 -0700 (PDT)
From:      Jeff Roberson <jeff@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/kern sched_ule.c
Message-ID:  <200304110347.h3B3lE5k071110@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
jeff        2003/04/10 20:47:14 PDT

  FreeBSD src repository

  Modified files:
    sys/kern             sched_ule.c 
  Log:
   - Add a SYSCTL node for the ule scheduler.
   - Allow user adjustable min and max time slices (suggested by hiten).
   - Change the SLP_RUN_MAX to 100ms from 2 seconds so that we learn whether a
     process is interactive or not much more quickly.
   - Place a process on the current run queue if it is interactive or if it is
     running at an interrupt thread priority due to priority prop.
   - Use the 'current' timeshare queue for interrupt threads, realtime threads,
     and idle threads that are running at higher priority due to priority prop.
     This fixes problems where priorities would have been elevated but we would
     not check the timeshare run queue until other lower priority tasks were
     no longer runnable.
   - Keep an array of loads indexed by the priority class as well as a global
     load.
   - Keep an bucket of nice values with a count of the number of kses currently
     runnable with that nice value.
   - Keep track of the minimum nice value of any running thread.
   - Remove the unused short term sleep accounting.  I was attempting to use
     this for load balancing but it didn't work out.
   - Define a kseq_print() for use with debugging.
   - Add KTR debugging at useful places so we can easily debug slice and
     priority assignment.
   - Decouple the runq assignment from the kseq assignment.  kseq_add now keeps
     track of statistics.  This is done so that the nice and load is still
     tracked for the currently running process.  Previously if a niced process
     was added while a non nice process was running the niced process would
     still get a slice since it was not aware of the unnice process.
   - Make adjustments for the sched api changes.
  
  Revision  Changes    Path
  1.22      +405 -299  src/sys/kern/sched_ule.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200304110347.h3B3lE5k071110>