> From: Len Brown <len.br...@intel.com> > > 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 <len.br...@intel.com> > --- > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/