]> git.baikalelectronics.ru Git - kernel.git/commit
[POWERPC] Fixup softirq preempt count
authorBenjamin Herrenschmidt <benh@ozlabs.org>
Wed, 9 Apr 2008 07:21:28 +0000 (17:21 +1000)
committerPaul Mackerras <paulus@samba.org>
Wed, 16 Apr 2008 21:46:11 +0000 (07:46 +1000)
commita414a11cd7fc6fc4de7074aa96ce3b9010d04822
tree29c04586b34437d80626222e4660926dda428cc7
parent41be2b944a15ad526dd1f4ba999c38cb44f3d655
[POWERPC] Fixup softirq preempt count

This fixes the handling of the preempt count when switching
interrupt stacks so that HW interrupt properly get the softirq
mask copied over from the previous stack.

It also initializes the softirq stack preempt_count to 0 instead
of SOFTIRQ_OFFSET, like x86, as __do_softirq() does the increment,
and we hit some lockdep checks if we have it twice.

That means we do run for a little while off the softirq stack
with the preempt-count set to 0, which could be deadly if we
try to take a softirq at that point, however we do so with
interrupts disabled, so I think we are ok.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/kernel/irq.c