cvs commit: src/sys/kern kern_exit.c kern_synch.c

Matthew Dillon dillon at
Sat Mar 20 11:17:04 PST 2004

dillon      2004/03/20 11:16:24 PST

DragonFly src repository

  Modified files:
    sys/kern             kern_exit.c kern_synch.c 
  Fix p_pctcpu and p_estcpu.  When the new systimer stuff was put in the
  scheduler got its own clock interrupt for scheduling updates which was set
  to 10Hz.  pctcpu was still being calculated based on 100hz, so change that
  to 10hz.
  The systimer stuff also broke estcpu, which in turn broke NICE.  Change
  the estcpu equations to operate properly and get rid of some crufty comments.
  Note that NICE really works now.  A cpu-bound nice +20 process will get
  very little cpu relative to a cpu-bounce nice +0 process, and none relative
  to a negatively-niced process.  From a standing start each nice level of
  difference immediately shifts about 5% of the cpu between processes.  Once
  the load and estcpu has stabilized (if the processes are cpu-bound), the
  difference is around 2% per level, for two processes.  When starting a
  highly-niced process in the face of lower-niced cpu-bound processes, the
  highly-niced process may not get any cpu at all for up to 60 seconds.  This
  is because the system 1-min loadav is used to scale estcpu.
  Revision  Changes    Path
  1.31      +17 -3     src/sys/kern/kern_exit.c
  1.30      +30 -78    src/sys/kern/kern_synch.c

More information about the Commits mailing list