Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Jul 2002 13:36:40 -0400 (EDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Luigi Rizzo <rizzo@icir.org>
Cc:        arch@freebsd.org
Subject:   RE: proposed changes to kern_switch.c and kern_synch.c
Message-ID:  <XFMail.20020717133640.jhb@FreeBSD.org>
In-Reply-To: <20020716235216.B6785@iguana.icir.org>

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

On 17-Jul-2002 Luigi Rizzo wrote:
> Hi,
> we have implemented a weight-based process scheduler
> for FreeBSD-stable, and are trying to port it to -current (in the
> description below replace "process" with "thread/kse" as appropriate
> for the -current case).

Unfortunately, the differences between -current and -stable in this area
aren't that simple.  I think while developing on this on -stable is fine,
trying to retrofit those changes into -current will be fairly hard.  Mostly
because you basically need to rewrite a lot of it.  The current scheduler
is still very much a work in progress and I think we need to not try to do
too many things at once.  Some remaining issues that I think need to be
done first before we look into this:

- Finish up KSE changes
- Really make the scheduler fully preemptive
- Get rid of schedcpu() in favor of event-driven priority updates somewhat
  similar to SVR4 as described in Unix Internals
- A few other simplifications would be to have things like turnstiles and
  generic sleep queues shared between at least cv's and sleep/wakeup,
  possibly with turnstiles as well.

Some other notes: I think kern_switch.c should just contain the code to
support processor runqueues and possibly mi_switch().

>  3. implement a function which, under control of a sysctl call,
>     activate a new scheduler (by initialising all the function
>     pointers to appropriate values) and moves all processes from
>     the old to the new one.

In SVR4 different processes could be in different scheduling classes that
could cooperate with each other.  I think that is a better long-term
design goal then requiring switch-overs.

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.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?XFMail.20020717133640.jhb>