Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1372292 > unrolled thread

[PATCH v2] arm64/debug: Remove superfluous SMP function call

Started byAnna-Maria Gleixner <anna-maria@linutronix.de>
First post2016-04-06 10:50 +0200
Last post2016-04-14 19:20 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v2] arm64/debug: Remove superfluous SMP function call Anna-Maria Gleixner <anna-maria@linutronix.de> - 2016-04-06 10:50 +0200
    Re: [PATCH v2] arm64/debug: Remove superfluous SMP function call Will Deacon <will.deacon@arm.com> - 2016-04-14 19:20 +0200

#1372292 — [PATCH v2] arm64/debug: Remove superfluous SMP function call

FromAnna-Maria Gleixner <anna-maria@linutronix.de>
Date2016-04-06 10:50 +0200
Subject[PATCH v2] arm64/debug: Remove superfluous SMP function call
Message-ID<rkRjX-1aV-5@gated-at.bofh.it>
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 to
clear_os_lock(). The function writes the OSLAR register to clear OS
locking. This does not require to be called with interrupts disabled,
therefore the smp_call_function_single() calling convention is not
preserved.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
---
 arch/arm64/kernel/debug-monitors.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- a/arch/arm64/kernel/debug-monitors.c
+++ b/arch/arm64/kernel/debug-monitors.c
@@ -135,9 +135,8 @@ static void clear_os_lock(void *unused)
 static int os_lock_notify(struct notifier_block *self,
 				    unsigned long action, void *data)
 {
-	int cpu = (unsigned long)data;
 	if ((action & ~CPU_TASKS_FROZEN) == CPU_ONLINE)
-		smp_call_function_single(cpu, clear_os_lock, NULL, 1);
+		clear_os_lock(NULL);
 	return NOTIFY_OK;
 }
 

[toc] | [next] | [standalone]


#1379121

FromWill Deacon <will.deacon@arm.com>
Date2016-04-14 19:20 +0200
Message-ID<rnT5U-5uk-9@gated-at.bofh.it>
In reply to#1372292
On Wed, Apr 06, 2016 at 10:42:28AM +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 to
> clear_os_lock(). The function writes the OSLAR register to clear OS
> locking. This does not require to be called with interrupts disabled,
> therefore the smp_call_function_single() calling convention is not
> preserved.
> 
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Will Deacon <will.deacon@arm.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
> ---
>  arch/arm64/kernel/debug-monitors.c |    3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)

Applied this and the hw_breakpoint one too, thanks.

Will

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web