Preemtive kernel (Was: Re: [2.4.17/18pre] VM and swap - it's really unusable)

Roger Larsson
2002-01-09T07:28:59Z

(the subject has been wrong for some time now...)

On Wednesday den 9 January 2002 07.26, Daniel Phillips wrote:
> On January 9, 2002 12:02 am, Luigi Genoni wrote:
> > On Tue, 8 Jan 2002, Daniel Phillips wrote:
> > > On January 8, 2002 04:29 pm, Andrea Arcangeli wrote:
> > > > but I just wanted to make clear that the
> > > > idea that is floating around that preemptive kernel is all goodness
> > > > is very far from reality, you get very low mean latency but at a
> > > > price.
> > >
> > > A price lots of people are willing to pay
> >
> > Probably sometimes they are not making a good business.
>
> Perhaps. But they are happy customers and their music sounds better.
>
> Note: the dominating cost of -preempt is not Robert's patch, but the fact
> that you need to have CONFIG_SMP enabled, even for uniprocessor, turning
> all those stub macros into real spinlocks. For a dual processor you have
> to have this anyway and it just isn't an issue.
>

Well you don't - the first versions used the SMP spinlocks macros but
replaced them with own code. (basically an INC on entry and a DEC and test
when leaving)

Think about what happens on a UP
There are two cases
- the processor is in the critical section, it can not be preempted = no
other process can take the CPU away from it.
- the processor is not in a critical section, no process can be executing
inside it = can never be busy.
=> no real spinlocks needed on a UP

/RogerL

--
Roger Larsson
Skellefteå
Sweden