From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933669AbcDFIl1 (ORCPT ); Wed, 6 Apr 2016 04:41:27 -0400 Received: from www.linutronix.de ([62.245.132.108]:41844 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932580AbcDFIlZ (ORCPT ); Wed, 6 Apr 2016 04:41:25 -0400 From: Anna-Maria Gleixner To: linux-kernel@vger.kernel.org Cc: rt@linutronix.de, Anna-Maria Gleixner , Will Deacon , Mark Rutland , Russell King , linux-arm-kernel@lists.infradead.org Subject: [PATCH v2] arm, hw-breakpoint: Remove superfluous SMP function call Date: Wed, 6 Apr 2016 10:40:30 +0200 Message-Id: <1459932030-43882-1-git-send-email-anna-maria@linutronix.de> X-Mailer: git-send-email 2.7.0 X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001,URIBL_BLOCKED=0.001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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; }