arm64: let the core code deal with preempt_count
authorMarc Zyngier <Marc.Zyngier@arm.com>
Tue, 12 Nov 2013 17:11:53 +0000 (17:11 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Mon, 25 Nov 2013 16:44:04 +0000 (16:44 +0000)
commit6468178767c4c7e600fdbf50aaca03f4a8a82ca4
treec7a08390c969b4dcdc93faeb0648f58111395b83
parent6ce4eac1f600b34f2f7f58f9cd8f0503d79e42ae
arm64: let the core code deal with preempt_count

Commit f27dde8deef3 (sched: Add NEED_RESCHED to the preempt_count)
introduced the use of bit 31 in preempt_count for obscure scheduling
purposes.

This causes interrupts taken from EL0 to hit the (open coded) BUG when
this flag is flipped while handling the interrupt (we compare the
values before and after, and kill the kernel if they are different).

The fix is to stop messing with the preempt count entirely, as this
is already being dealt with in the generic code (irq_enter/irq_exit).

Tested on a dual A53 FPGA running cyclictest.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/entry.S