From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754339AbbEGKYD (ORCPT ); Thu, 7 May 2015 06:24:03 -0400 Received: from mail-wi0-f170.google.com ([209.85.212.170]:34061 "EHLO mail-wi0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754324AbbEGKX5 (ORCPT ); Thu, 7 May 2015 06:23:57 -0400 Date: Thu, 7 May 2015 12:23:51 +0200 From: Ingo Molnar To: Len Brown Cc: Jan =?iso-8859-1?Q?H=2E_Sch=F6nherr?= , Thomas Gleixner , x86@kernel.org, "linux-kernel@vger.kernel.org" , Anthony Liguori , Ingo Molnar , "H. Peter Anvin" , Tim Deegan , Gang Wei , Linus Torvalds Subject: Re: [PATCH] x86: skip delays during SMP initialization similar to Xen Message-ID: <20150507102351.GA14347@gmail.com> References: <1430732554-7294-1-git-send-email-jschoenh@amazon.de> <20150506082759.GA30019@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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 * Len Brown wrote: > > So I really like this, as it nicely side-steps the 'when should we > > do the legacy delays' issue by flagging on x2apic support. > > > > If anyone has objections, please holler. > > We should have no delays even for many processors that lack x2apic. Yes, agreed, but this looks like a good (and safe) first step: especially systems that have large CPU counts tend to have x2apic support - and that is where such a change matters most. I'm not against doing a zero delay approach either, if it can be triggered robustly. Here's what the boot time looks like on a 120 CPUs system, with the patch applied: [ 0.558947] x86: Booting SMP configuration: [ 0.563375] .... node #0, CPUs: #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11 #12 #13 #14 [ 0.644851] .... node #1, CPUs: #15 #16 #17 #18 #19 #20 #21 #22 #23 #24 #25 #26 #27 #28 #29 [ 0.830474] .... node #2, CPUs: #30 #31 #32 #33 #34 #35 #36 #37 #38 #39 #40 #41 #42 #43 #44 [ 1.016357] .... node #3, CPUs: #45 #46 #47 #48 #49 #50 #51 #52 #53 #54 #55 #56 #57 #58 #59 [ 1.202342] .... node #0, CPUs: #60 #61 #62 #63 #64 #65 #66 #67 #68 #69 #70 #71 #72 #73 #74 [ 1.283864] .... node #1, CPUs: #75 #76 #77 #78 #79 #80 #81 #82 #83 #84 #85 #86 #87 #88 #89 [ 1.397131] .... node #2, CPUs: #90 #91 #92 #93 #94 #95 #96 #97 #98 #99 #100 #101 #102 #103 #104 [ 1.510417] .... node #3, CPUs: #105 #106 #107 #108 #109 #110 #111 #112 #113 #114 #115 #116 #117 #118 #119 [ 1.620967] x86: Booted up 4 nodes, 120 CPUs [ 1.625928] smpboot: Total of 120 processors activated (672866.16 BogoMIPS) 1.1 seconds to boot 120 CPUs, 10.8 seconds to hit init, that's an entirely reasonable runtime I think. It was 20+ seconds before that, 10+ seconds for the SMP bootup sequence. Thanks, Ingo