Subject: Re: Hard realtime scheduling
To: Dave <dgriffi@cs.csubak.edu>
From: Oliver.Korpilla@gmx.de <Oliver.Korpilla@gmx.de>
List: tech-kern
Date: 04/05/2005 09:00:06
Dave wrote:
> On Mon, 4 Apr 2005, SODA Noriyuki wrote:
>
>
>>>>>>>On Mon, 4 Apr 2005 12:02:07 +0200 (CEST),
>>
>> Hubert Feyrer <hubert@feyrer.de> said:
>>
>>
>>>I don't know about any details in NetBSD, but the way to go is probably to
>>>make the kernel preemptive as first step. This will also (hugely) benefit
>>>SMP performance (i.e. no more biglock).
>>
>>mm, first step.
>>I think this is really hard step, although it's worth consindering.
>>
>>Adding realtime (fixed priority) scheduling class to our scheduler is
>>worth doing, and far easier than preemptive kernel.
I think I've made an interesting observation: Fine grained locking and
preemption are not identical.
Preemption can be realized as preempting system calls when no lock is
held to avoid global state corruption. Even with the biglock you can
implement preemption. It is just not as useful as it would be with a
fine grained locking model. So you could include the preemption-enabling
code now, test it with the big lock, and receive the real boost later
when fine grained locking is ported to NetBSD.
Anyone else thinking this is a correct reasoning, or am I mistaken?
With kind regards,
Oliver Korpilla