From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932426AbbJPTeP (ORCPT ); Fri, 16 Oct 2015 15:34:15 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:53959 "EHLO ironport2-out.teksavvy.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753504AbbJPTeN convert rfc822-to-8bit (ORCPT ); Fri, 16 Oct 2015 15:34:13 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0ACBAA731xV/9mBCkxchEKDHsA+CYNjg24CgXUUAQEBAQEBAYEKhCIBAQEBAgEjVgULBQQCCQwFAhgOAgI9GgYBEggJiAQPCI18nRCkFwEBAQEBAQEDAQEBAQEdgSGKGYRSMweCaIFFAQSUDpZTGooJI2GBKRyBblOCRwEBAQ X-IPAS-Result: A0ACBAA731xV/9mBCkxchEKDHsA+CYNjg24CgXUUAQEBAQEBAYEKhCIBAQEBAgEjVgULBQQCCQwFAhgOAgI9GgYBEggJiAQPCI18nRCkFwEBAQEBAQEDAQEBAQEdgSGKGYRSMweCaIFFAQSUDpZTGooJI2GBKRyBblOCRwEBAQ X-IronPort-AV: E=Sophos;i="5.13,465,1427774400"; d="scan'208";a="169817455" Date: Fri, 16 Oct 2015 15:34:11 -0400 To: linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, dparsons@brightdsl.net, x86@kernel.org, "Len Brown" Cc: "Len Brown" From: shrybman Subject: Re: [PATCH 1/2] x86 smpboot: fix cpu_init_udelay=10000 Message-ID: <0bc26e9524533c38fdbdc95eed2b1448@teksavvy.com> X-Mailer: IceWarp Mailer 11.2.1.1 x64-Desktop In-Reply-To: References: <1444968869-21435-1-git-send-email-lenb@kernel.org> X-Priority: 3 MIME-Version: 1.0 Content-Transfer-Encoding: 8BIT Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > From: Len Brown > > For legacy machines cpu_init_udelay defaults to 10,000. > For modern machines it is set to 0. > > The user should be able to set cpu_init_udelay to > any value on the cmdline, including 10,000. > Before this patch, that was seen as "unchanged from default" > and thus on a modern machine, the user request was ignored > and the delay was set to 0. > > Signed-off-by: Len Brown > --- > arch/x86/kernel/smpboot.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c > index e0c198e..32267cc 100644 > --- a/arch/x86/kernel/smpboot.c > +++ b/arch/x86/kernel/smpboot.c > @@ -509,7 +509,7 @@ void __inquire_remote_apic(int apicid) >  */ > #define UDELAY_10MS_DEFAULT 10000 > > -static unsigned int init_udelay = UDELAY_10MS_DEFAULT; > +static unsigned int init_udelay = INT_MAX; > > static int __init cpu_init_udelay(char *str) > { > @@ -522,13 +522,16 @@ early_param("cpu_init_udelay", cpu_init_udelay); > static void __init smp_quirk_init_udelay(void) > { >      /* if cmdline changed it from default, leave it alone */ > -     if (init_udelay != UDELAY_10MS_DEFAULT) > +     if (init_udelay != INT_MAX) >           return; > >      /* if modern processor, use no delay */ >      if (((boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) && (boot_cpu_data.x86 == 6)) || >          ((boot_cpu_data.x86_vendor == X86_VENDOR_AMD) && (boot_cpu_data.x86 >= 0xF))) >           init_udelay = 0; > + > +     /* else, use legacy delay */ > +     init_udelay = UDELAY_10MS_DEFAULT; Hi Len, Is this really what you intended? The else is commented out so if init_udelay is quirked to be 0 it will always be reset to UDELAY_10MS_DEFAULT. Also init_udelay is unsigned, so would UINT_MAX be a better choice? Shane