From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 6DB9BB7109 for ; Mon, 7 Feb 2011 10:31:28 +1100 (EST) Subject: Re: [PATCH] sched: provide scheduler_ipi() callback in response to smp_send_reschedule() From: Benjamin Herrenschmidt To: Peter Zijlstra In-Reply-To: <1295262433.30950.53.camel@laptop> References: <1295262433.30950.53.camel@laptop> Content-Type: text/plain; charset="UTF-8" Date: Mon, 07 Feb 2011 10:26:32 +1100 Message-ID: <1297034792.14982.10.camel@pasglop> 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 Mon, 2011-01-17 at 12:07 +0100, Peter Zijlstra wrote: > diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c > index 68034bb..7ee0fc3 100644 > --- a/arch/powerpc/kernel/smp.c > +++ b/arch/powerpc/kernel/smp.c > @@ -128,6 +128,7 @@ static irqreturn_t call_function_action(int irq, void *data) > static irqreturn_t reschedule_action(int irq, void *data) > { > /* we just need the return path side effect of checking need_resched */ > + scheduler_ipi(); > return IRQ_HANDLED; > } > 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 (We have two variants of the IPIs) Cheers, Ben.