From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 26B63B708B for ; Wed, 9 Feb 2011 20:36:50 +1100 (EST) Received: from canuck.infradead.org ([2001:4978:20e::1]) by bombadil.infradead.org with esmtps (Exim 4.72 #1 (Red Hat Linux)) id 1Pn6Te-0005ea-0G for linuxppc-dev@lists.ozlabs.org; Wed, 09 Feb 2011 09:36:46 +0000 Received: from j77219.upc-j.chello.nl ([24.132.77.219] helo=dyad.programming.kicks-ass.net) by canuck.infradead.org with esmtpsa (Exim 4.72 #1 (Red Hat Linux)) id 1Pn6Ta-0000v5-GM for linuxppc-dev@lists.ozlabs.org; Wed, 09 Feb 2011 09:36:42 +0000 Subject: Re: [PATCH] sched: provide scheduler_ipi() callback in response to smp_send_reschedule() From: Peter Zijlstra To: Benjamin Herrenschmidt In-Reply-To: <1297232054.14982.346.camel@pasglop> References: <1295262433.30950.53.camel@laptop> <1297034792.14982.10.camel@pasglop> <1297086859.13327.16.camel@laptop> <1297232054.14982.346.camel@pasglop> Content-Type: text/plain; charset="UTF-8" Date: Wed, 09 Feb 2011 10:37:24 +0100 Message-ID: <1297244244.13327.147.camel@laptop> Mime-Version: 1.0 Cc: linux-m32r-ja@ml.linux-m32r.org, linux-mips@linux-mips.org, linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org, "H. Peter Anvin" , Heiko Carstens , Paul Mackerras , Helge Deller , sparclinux@vger.kernel.org, Linux-Arch , linux-s390@vger.kernel.org, Jesper Nilsson , Jeremy Fitzhardinge , Russell King , Hirokazu Takata , x86@kernel.org, "James E.J. Bottomley" , virtualization@lists.osdl.org, Ingo Molnar , Matt Turner , Fenghua Yu , Mike Frysinger , user-mode-linux-devel@lists.sourceforge.net, Konrad Rzeszutek Wilk , Jeff Dike , Chris Metcalf , xen-devel@lists.xensource.com, Mikael Starvik , linux-m32r@ml.linux-m32r.org, Ivan Kokshaysky , user-mode-linux-user@lists.sourceforge.net, uclinux-dist-devel@blackfin.uclinux.org, Thomas Gleixner , linux-arm-kernel@lists.infradead.org, Richard Henderson , Tony Luck , linux-parisc@vger.kernel.org, linux-cris-kernel@axis.com, linux-am33-list@redhat.com, linux-kernel@vger.kernel.org, Ralf Baechle , Kyle McMartin , Paul Mundt , linux-alpha@vger.kernel.org, Martin Schwidefsky , linux390@de.ibm.com, Koichi Yasutake , linuxppc-dev@lists.ozlabs.org, "David S. Miller" List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Wed, 2011-02-09 at 17:14 +1100, Benjamin Herrenschmidt wrote: > On Mon, 2011-02-07 at 14:54 +0100, Peter Zijlstra wrote: > > On Mon, 2011-02-07 at 10:26 +1100, Benjamin Herrenschmidt wrote: > > > 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 > > > > 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.