cvs commit: src/sys/kern sched_4bsd.c

Jeff Roberson jroberson at chesapeake.net
Sun Feb 1 15:08:08 PST 2004


On Sun, 1 Feb 2004, Bruce Evans wrote:

> 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.

It might be cheaper, but it is less scalable.

>
> > 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-src mailing list