From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benjamin Herrenschmidt Subject: Re: [PATCH] sched: provide scheduler_ipi() callback in response to smp_send_reschedule() Date: Wed, 09 Feb 2011 17:14:14 +1100 Message-ID: <1297232054.14982.346.camel@pasglop> References: <1295262433.30950.53.camel@laptop> <1297034792.14982.10.camel@pasglop> <1297086859.13327.16.camel@laptop> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1297086859.13327.16.camel@laptop> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: uclinux-dist-devel-bounces-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b@public.gmane.org Errors-To: uclinux-dist-devel-bounces-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b@public.gmane.org To: Peter Zijlstra Cc: linux-m32r-ja-rQhvJZKUsGBRYuoOT4C5/9i2O/JbrIOy@public.gmane.org, linux-mips-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org, linux-m32r-rQhvJZKUsGBRYuoOT4C5/9i2O/JbrIOy@public.gmane.org, linux-ia64-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-sh-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Heiko Carstens , Howells , Paul Mackerras , "H. Peter Anvin" , sparclinux-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Linux-Arch , linux-s390-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Jesper Nilsson , Mikael-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b@public.gmane.org, Russell King , Takata , x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, "James E.J. Bottomley" , virtualization-qjLDD68F18O7TbgM5vRIOg@public.gmane.org, Ingo Molnar , xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR@public.gmane.org, Chris-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b@public.gmane.org, Matt Turner , uclinux-dist-devel-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b@public.gmane.org, Fen List-Id: virtualization@lists.linuxfoundation.org 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 :-) Cheers, Ben.