Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Sep 2002 13:08:25 -0700 (PDT)
From:      Julian Elischer <julian@elischer.org>
To:        Rik van Riel <riel@conectiva.com.br>
Cc:        Bill Huey <billh@gnuppy.monkey.org>, freebsd-arch@freebsd.org
Subject:   Re: New Linux threading model
Message-ID:  <Pine.BSF.4.21.0209201300500.16925-100000@InterJet.elischer.org>
In-Reply-To: <Pine.LNX.4.44L.0209201652330.1857-100000@imladris.surriel.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On Fri, 20 Sep 2002, Rik van Riel wrote:

> On Fri, 20 Sep 2002, Julian Elischer wrote:
> > On Fri, 20 Sep 2002, Rik van Riel wrote:
> > > There don't seem to be any O(n) loops left in or near this scheduler,
> > > meaning that 1:1 threading with lots of threads becomes possible.
> >
> > The FreeBSD scheduler is moving towards a big rewrite but we want to
> > change "one thing at a time" :-) in that area..
> 
> This is doable in a smallish number of steps, which don't
> even need to be done in this order:
> 
> 1) per-cpu runqueues instead of a global one, which wants ...
> 
> 2) ... load balancer between these per-cpu queues
> 
> 3) two runqueue arrays (current and expired) instead of
>    just one, which enables ...
> 
> 4) ... event-driver priority recalculation, instead of
>    recalculating the priority of each task separately
> 

I didn't sat it's not possible, it's just that the interaction between
threads and KSEs on the run queue is very complicated in the 
current "interim" scheduler (compatible with the old process scheduler
but with a huge "tumor" on the side of it to do something with threads)
and there are not enough people who know the issues (I know of 3)
for us to spare the time to do it now aswe are all busy on other things.
The redesign can wait untill we acually have some threads to schedule
:-)


> These changes are probably small enough that they can be done
> without the risk of destabilising anything.

That would be a new peocess scheduler.. we need a new THREAD scheduler..

ie. You need to schedule threads in the kernel, while not allowing
a process with a lot of threads to flood the system. This is non trivil,
but we have the tools needed to do it. We just haven't done so yet..
If anyone is lookign for a grad-student project.. contact me on this
one. I can give details :-)


> Rik
> -- 
> Bravely reimplemented by the knights who say "NIH".
> 
> http://www.surriel.com/		http://distro.conectiva.com/
> 
> Spamtraps of the month:  september@surriel.com trac@trac.org
> 
> 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0209201300500.16925-100000>