]> 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)
commit4b94a0e1043e8cfb3176568c123c76953abaf791
tree970b6d210323d31f037c8593fd325636ec40a843
parent18f3bef7fc61ef1af216200a92488b6dcba64c3c
powerpc: check_and_cede_processor() never cedes

Commit 4fa2e4022632 ("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