From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755861AbbHQQ3l (ORCPT ); Mon, 17 Aug 2015 12:29:41 -0400 Received: from terminus.zytor.com ([198.137.202.10]:51233 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755748AbbHQQ3h (ORCPT ); Mon, 17 Aug 2015 12:29:37 -0400 Date: Mon, 17 Aug 2015 09:28:02 -0700 From: tip-bot for Len Brown Message-ID: Cc: torvalds@linux-foundation.org, luto@amacapital.net, mingo@kernel.org, boris.ostrovsky@oracle.com, zhugh.fnst@cn.fujitsu.com, peterz@infradead.org, imammedo@redhat.com, bp@alien8.de, paulmck@linux.vnet.ibm.com, jschoenh@amazon.de, tglx@linutronix.de, len.brown@intel.com, arjan@linux.intel.com, linux-kernel@vger.kernel.org, dave.hansen@linux.intel.com, hpa@zytor.com Reply-To: torvalds@linux-foundation.org, mingo@kernel.org, boris.ostrovsky@oracle.com, luto@amacapital.net, bp@alien8.de, imammedo@redhat.com, zhugh.fnst@cn.fujitsu.com, peterz@infradead.org, linux-kernel@vger.kernel.org, dave.hansen@linux.intel.com, hpa@zytor.com, arjan@linux.intel.com, len.brown@intel.com, paulmck@linux.vnet.ibm.com, jschoenh@amazon.de, tglx@linutronix.de In-Reply-To: <33ef746c67d2489cad0a9b1958cf71167232ff2b.1439739165.git.len.brown@intel.com> References: <33ef746c67d2489cad0a9b1958cf71167232ff2b.1439739165.git.len.brown@intel.com> To: linux-tip-commits@vger.kernel.org Subject: [tip:x86/boot] x86/smpboot: Remove udelay(100) when polling cpu_initialized_map Git-Commit-ID: 6e38f1e79d16f4fa9e5cf06792500e11c96a6f84 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: 6e38f1e79d16f4fa9e5cf06792500e11c96a6f84 Gitweb: http://git.kernel.org/tip/6e38f1e79d16f4fa9e5cf06792500e11c96a6f84 Author: Len Brown AuthorDate: Sun, 16 Aug 2015 11:45:45 -0400 Committer: Ingo Molnar CommitDate: Mon, 17 Aug 2015 10:42:27 +0200 x86/smpboot: Remove udelay(100) when polling cpu_initialized_map After the BSP sends the APIC INIT/SIPI/SIPI to the AP, it waits for the AP to come up and indicate that it is alive by setting its own bit in the cpu_initialized_mask. Linux polls for up to 10 seconds for this to happen. Each polling loop has a udelay(100) and a call to schedule(). The udelay(100) adds no value. For example, on my desktop, the BSP waits for the other 3 CPUs to come on line at boot for 305, 404, 405 usec. For resume from S3, it waits 317, 404, 405 usec. But when the udelay(100) is removed, the BSP waits 305, 310, 306 for boot, and 305, 307, 306 for resume. So for both boot and resume, removing the udelay(100) speeds online by about 100us in 2 of 3 cases. Signed-off-by: Len Brown Cc: Andy Lutomirski Cc: Arjan van de Ven Cc: Boris Ostrovsky Cc: Borislav Petkov Cc: Dave Hansen Cc: Igor Mammedov Cc: Jan H. Schönherr Cc: Linus Torvalds Cc: Paul E. McKenney Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: Zhu Guihua Link: http://lkml.kernel.org/r/33ef746c67d2489cad0a9b1958cf71167232ff2b.1439739165.git.len.brown@intel.com Signed-off-by: Ingo Molnar --- arch/x86/kernel/smpboot.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index b1f3ed9c..9ad88fb 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -898,7 +898,7 @@ static int do_boot_cpu(int apicid, int cpu, struct task_struct *idle) if (!boot_error) { /* - * Wait 10s total for a response from AP + * Wait 10s total for first sign of life from AP */ boot_error = -1; timeout = jiffies + 10*HZ; @@ -911,7 +911,6 @@ static int do_boot_cpu(int apicid, int cpu, struct task_struct *idle) boot_error = 0; break; } - udelay(100); schedule(); } }