]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc: check_and_cede_processor() never cedes
authorAnton Blanchard <anton@samba.org>
Wed, 27 Jun 2012 13:13:52 +0000 (13:13 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Fri, 29 Jun 2012 04:35:37 +0000 (14:35 +1000)
commit205dfe7074429c8b4350b64dadd9192acaaa1c0b
tree970b6d210323d31f037c8593fd325636ec40a843
parent6b1c11e96f25784cdfabd17c217e554b0f207a93
powerpc: check_and_cede_processor() never cedes

Commit bc0403779502 ("Make hard_irq_disable() actually hard-disable
interrupts") caused check_and_cede_processor to stop working.
->irq_happened will never be zero right after a hard_irq_disable
so the compiler removes the call to cede_processor completely.

The bug was introduced back in the lazy interrupt handling rework
of 3.4 but was hidden until recently because hard_irq_disable did
nothing.

This issue will eventually appear in 3.4 stable since the
hard_irq_disable fix is marked stable, so mark this one for stable
too.

Signed-off-by: Anton Blanchard <anton@samba.org>
Cc: stable@vger.kernel.org
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/hw_irq.h
arch/powerpc/platforms/pseries/processor_idle.c