From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755800AbcDGLey (ORCPT ); Thu, 7 Apr 2016 07:34:54 -0400 Received: from foss.arm.com ([217.140.101.70]:33405 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755388AbcDGLex (ORCPT ); Thu, 7 Apr 2016 07:34:53 -0400 Date: Thu, 7 Apr 2016 12:34:48 +0100 From: Will Deacon To: Anna-Maria Gleixner Cc: linux-kernel@vger.kernel.org, rt@linutronix.de, Mark Rutland , Russell King , linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v2] arm, hw-breakpoint: Remove superfluous SMP function call Message-ID: <20160407113448.GF5657@arm.com> References: <1459932030-43882-1-git-send-email-anna-maria@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1459932030-43882-1-git-send-email-anna-maria@linutronix.de> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 06, 2016 at 10:40:30AM +0200, Anna-Maria Gleixner wrote: > Since commit 1cf4f629d9d2 ("cpu/hotplug: Move online calls to > hotplugged cpu") it is ensured that callbacks of CPU_ONLINE and > CPU_DOWN_PREPARE are processed on the hotplugged CPU. Due to this SMP > function calls are no longer required. > > Replace smp_call_function_single() with a direct call of > reset_ctrl_regs(). To keep the calling convention, interrupts are > explicitly disabled around the call. > > Cc: Will Deacon > Cc: Mark Rutland > Cc: Russell King > Cc: linux-arm-kernel@lists.infradead.org > Signed-off-by: Anna-Maria Gleixner > --- > arch/arm/kernel/hw_breakpoint.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > --- a/arch/arm/kernel/hw_breakpoint.c > +++ b/arch/arm/kernel/hw_breakpoint.c > @@ -1023,8 +1023,11 @@ static void reset_ctrl_regs(void *unused > static int dbg_reset_notify(struct notifier_block *self, > unsigned long action, void *cpu) > { > - if ((action & ~CPU_TASKS_FROZEN) == CPU_ONLINE) > - smp_call_function_single((int)cpu, reset_ctrl_regs, NULL, 1); > + if ((action & ~CPU_TASKS_FROZEN) == CPU_ONLINE) { > + local_irq_disable(); > + reset_ctrl_regs(NULL); > + local_irq_enable(); > + } > > return NOTIFY_OK; > } Acked-by: Will Deacon Will