Re: [PATCH] sched: provide scheduler_ipi() callback in response to smp_send_reschedule()

From
Peter Zijlstra <peterz@infradead.org>
Date
2011-02-09 09:37:24
Also in
linux-alpha, linux-arm-kernel, linux-mips, linux-um, linuxppc-dev, virtualization, xen-devel
Reply to
Benjamin Herrenschmidt, 2011-02-09
On Wed, 2011-02-09 at 17:14 +1100, Benjamin Herrenschmidt wrote:
On Mon, 2011-02-07 at 14:54 +0100, Peter Zijlstra wrote:
quoted
On Mon, 2011-02-07 at 10:26 +1100, Benjamin Herrenschmidt wrote:
quoted
You missed:
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index 9813605..467d122 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -98,6 +98,7 @@ void smp_message_recv(int msg)
                break;
        case PPC_MSG_RESCHEDULE:
                /* we notice need_resched on exit */
+               scheduler_ipi();
                break;
        case PPC_MSG_CALL_FUNC_SINGLE:
                generic_smp_call_function_single_interrupt();
Fold that in and add:

Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Thanks Ben!
BTW. I we lurking at some of our CPU hotplug code and I think I cannot
totally guarantee that this won't be called on an offline CPU. If that's
a problem, you may want to add a test for that.

IE. The call function IPIs are normally not going to be sent to an
offlined CPU, and stop_machine should be a good enough fence here, but
we do abuse reschedule for a number of things (including in some case
to wake up a sleeping CPU that was pseudo-offlined :-)
Hmm, I _think_ that should all work out nicely, but we'll see, if when
this stuff hits the tree powerpc machines start falling over we'd better
put that check in ;-)

Meanwhile I'm going to preserve this comment in the changelog of this
patch so we don't forget.
Thread (4 messages) 4 messages, 2 authors, last reply 2011-02-09
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help