Subject: Re: selwakeup()
To: <>
From: David Laight <david@l8s.co.uk>
List: tech-kern
Date: 03/04/2002 19:38:58
On Mon, Mar 04, 2002 at 07:17:31PM -0000, eeh@netbsd.org wrote:
>
> | Certainly some chunks of kernel code do not allow for arbitrary
> | pre-emption of processes.
> |
> | (The SVR4 kernel was changed to allow process pre-emption at any
> | time as part of the SMP work).
>
> SVR4 added "preemption points" strategically placed in the high
> latency part of the kernel in order to have better response times
> for the new "real-time" scheduling class. However, this is not
> real kernel preemption.
I thought that by the time SVR4MP got as far as UnixWare 2 it
did do process pre-emption.
There was definitely a major change to the SVR4 scheduler
sometime near where it went MP. In particular you were no
longer able to use 'nice' to stop a process running - messed
up my idle time counting process.....
OTOH if you are writing device driver code for such a system
having your code run on multiple cpus gives you more problems
that simply having to deal with process pre-emption.
The guidelines we wrote device drivers under certainly
assumed pre-emption.
David
--
David Laight: david@l8s.co.uk