cvs commit: src/sys/kern sched_4bsd.c

Bruce Evans bde at zeta.org.au
Sat Jan 31 22:01:54 PST 2004


On Sat, 31 Jan 2004, Don Lewis wrote:

> On 31 Jan, Jeff Roberson wrote:
> > jeff        2004/01/31 18:46:47 PST
> >
> >   FreeBSD src repository
> >
> >   Modified files:
> >     sys/kern             sched_4bsd.c
> >   Log:
> >    - Keep a variable 'sched_tdcnt' that is used for the local implementation
> >      of sched_load().  This variable tracks the number of running and runnable
> >      non ithd threads.  This removes the need to traverse the proc table and
> >      discover how many threads are runnable.

Traversing the run queues in sched_load() every 5 seconds might be more
efficient than maintaing the count.

> I was suprised to find that processes in disk wait are no longer counted
> towards the load average.  This happened in rev 1.163 of kern_synch.c,
> which  was committed more than two years ago.
>
> Even if CPU time is available, a machine with a lot of processes stuck
> in disk wait is going to feel slow ...

They were never counted AFAIK.  Isn't this one of the main visible
differences between BSD and Linux?  Rev.1.163 ov kern_synch.c just moved
stuff.  The change before this in rev.1.59 of vm_meter.c is more likely
to have changed this but was supposed to just remove dead code.

Bruce


More information about the cvs-all mailing list