M Martin Schwidefsky #
Message details and related content
On Mon, 17 Jan 2011 12:07:13 +0100 Peter Zijlstra [off-list ref] wrote:
quoted hunk
I visited existing smp_send_reschedule() implementations and tried to add a call to scheduler_ipi() in their handler part, but esp. for MIPS I'm not quite sure I actually got all of them.diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index 94cf510..61789e8 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c@@ -163,12 +163,12 @@ static void do_ext_call_interrupt(unsigned int ext_int_code, /* * handle bit signal external calls - * - * For the ec_schedule signal we have to do nothing. All the work - * is done automatically when we return from the interrupt. */ bits = xchg(&S390_lowcore.ext_call_fast, 0); + if (test_bit(ec_schedule, &bits)) + scheduler_ipi(); + if (test_bit(ec_call_function, &bits)) generic_smp_call_function_interrupt();
s390 bits are fine. -- blue skies, Martin. "Reality continues to ruin my life." - Calvin.