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