From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anna-Maria Gleixner Subject: [patch V2 31/67] KVM/x86: Remove superfluous SMP function call Date: Wed, 13 Jul 2016 17:16:32 -0000 Message-ID: <20160713153335.452527104@linutronix.de> References: <20160713153219.128052238@linutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Cc: Peter Zijlstra , Ingo Molnar , Thomas Gleixner , rt@linutronix.de, Anna-Maria Gleixner , Linus Torvalds , Paolo Bonzini , Radim Krcmar , kvm@vger.kernel.org To: LKML Return-path: Received: from www.linutronix.de ([62.245.132.108]:40157 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752242AbcGMRTW (ORCPT ); Wed, 13 Jul 2016 13:19:22 -0400 Content-Disposition: inline; filename=0030-KVM-x86-Remove-superfluous-SMP-function-call.patch Sender: kvm-owner@vger.kernel.org List-ID: From: Anna-Maria Gleixner Since the following commit: 1cf4f629d9d2 ("cpu/hotplug: Move online calls to hotplugged cpu") ... the CPU_ONLINE and CPU_DOWN_PREPARE notifiers are always run on the hot plugged CPU, and as of commit: 3b9d6da67e11 ("cpu/hotplug: Fix rollback during error-out in __cpu_disable()") the CPU_DOWN_FAILED notifier also runs on the hot plugged CPU. This patch converts the SMP functional calls into direct calls. smp_function_call_single() executes the function with interrupts disabled. This calling convention is not preserved because there is no reason to do so. Signed-off-by: Anna-Maria Gleixner Cc: Linus Torvalds Cc: Paolo Bonzini Cc: Peter Zijlstra Cc: Radim Krcmar Cc: Thomas Gleixner Cc: kvm@vger.kernel.org --- arch/x86/kvm/x86.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -5662,15 +5662,13 @@ static struct notifier_block kvmclock_cp static int kvmclock_cpu_notifier(struct notifier_block *nfb, unsigned long action, void *hcpu) { - unsigned int cpu = (unsigned long)hcpu; - switch (action) { case CPU_ONLINE: case CPU_DOWN_FAILED: - smp_call_function_single(cpu, tsc_khz_changed, NULL, 1); + tsc_khz_changed(NULL); break; case CPU_DOWN_PREPARE: - smp_call_function_single(cpu, tsc_bad, NULL, 1); + tsc_bad(NULL); break; } return NOTIFY_OK;