aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel
diff options
context:
space:
mode:
authorGavin Shan <shangw@linux.vnet.ibm.com>2013-06-25 02:35:28 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2013-06-25 03:24:41 -0400
commit5459ae1431f5d22ab10fa8b56fb16c018289fdfc (patch)
treea8409c1d4dc81d7dd31d9065b29ea56d66c3b606 /arch/powerpc/kernel
parentef6a28577398df2853abf123cb4a2e0c57eb879a (diff)
powerpc/eeh: Use interruptible sleep in keehd
To replace down() with down_interrutible() to avoid following warning: [c00000007ba7b710] [c000000000014410] .__switch_to+0x1b0/0x380 [c00000007ba7b7c0] [c0000000007b408c] .__schedule+0x3ec/0x970 [c00000007ba7ba50] [c0000000007b1f24] .schedule_timeout+0x1a4/0x2b0 [c00000007ba7bb30] [c0000000007b34a4] .__down+0xa4/0x104 [c00000007ba7bbf0] [c0000000000b9230] .down+0x60/0x70 [c00000007ba7bc80] [c0000000000336d0] .eeh_event_handler+0x70/0x190 [c00000007ba7bd30] [c0000000000b1a58] .kthread+0xe8/0xf0 [c00000007ba7be30] [c00000000000a05c] .ret_from_kernel_thread+0x5c/0x8 This also avoids keeping the load average up while doing nothing. Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel')
-rw-r--r--arch/powerpc/kernel/eeh_event.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/eeh_event.c b/arch/powerpc/kernel/eeh_event.c
index 39bcd81e7f5d..d27c5afc90ae 100644
--- a/arch/powerpc/kernel/eeh_event.c
+++ b/arch/powerpc/kernel/eeh_event.c
@@ -55,7 +55,8 @@ static int eeh_event_handler(void * dummy)
55 struct eeh_pe *pe; 55 struct eeh_pe *pe;
56 56
57 while (!kthread_should_stop()) { 57 while (!kthread_should_stop()) {
58 down(&eeh_eventlist_sem); 58 if (down_interruptible(&eeh_eventlist_sem))
59 break;
59 60
60 /* Fetch EEH event from the queue */ 61 /* Fetch EEH event from the queue */
61 spin_lock_irqsave(&eeh_eventlist_lock, flags); 62 spin_lock_irqsave(&eeh_eventlist_lock, flags);