Re: [git pull] scheduler fixes

Ingo Molnar
2009-01-31T22:20:06Z

* Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:

> On Sat, 31 Jan 2009 19:08:47 +0100
> Peter Zijlstra <peterz@infradead.org> wrote:
>
> > On Sat, 2009-01-31 at 20:49 +0300, Alexey Zaytsev wrote:
> > >
> > > And answering an earlier question, this happens only on i386 and only
> > > with 4K stacks because x86_64 dosn't have a separate softirq stack,
> > > so the preempt count diring the soft irq is at least IRQ_EXIT_OFFSET.
> >
> > What do the other 30 odd architectures that Linux supports do? Is i386
> > 4k really the _only_ with separate softirq stacks?
>
> x86-64 and some of the other platforms could do with IRQ stacks but that
> is another story.

64-bit x86 already has IRQ stacks [16K large, per CPU], separate from the
8K syscall/process stack.

The question here is that on 64-bit hardirqs and softirqs share the same
stack (it's large enough). On 32-bit we have them separated.

Ingo