Re: [PATCH 2/2 v2] x86 idle: remove 32-bit-only "no-hlt" parameter, hlt_works_ok flag

From: H. Peter Anvin
Date: Sun Feb 10 2013 - 17:34:06 EST


Yes... safer that way.

Borislav Petkov <bp@xxxxxxxxx> wrote:

>On Sun, Feb 10, 2013 at 04:37:27PM -0500, Len Brown wrote:
>> From: Len Brown <len.brown@xxxxxxxxx>
>>
>> Remove 32-bit x86 a cmdline param "no-hlt",
>> and the cpuinfo_x86.hlt_works_ok that it sets.
>>
>> If a user wants to avoid HLT, then "idle=poll"
>> is much more useful, as it avoids invocation of HLT
>> in idle, while "no-hlt" failed to do so.
>>
>> Indeed, hlt_works_ok was consulted in only 3 places.
>>
>> First, in /proc/cpuinfo where "hlt_bug yes"
>> would be printed if and only if the user booted
>> the system with "no-hlt" -- as there was no other code
>> to set that flag.
>>
>> Second, check_hlt() would not invoke halt() if "no-hlt"
>> were on the cmdline.
>>
>> Third, it was consulted in stop_this_cpu(), which is invoked
>> by native_machine_halt()/reboot_interrupt()/smp_stop_nmi_callback()
>--
>> all cases where the machine is being shutdown/reset.
>> The flag was not consulted in the more frequently invoked
>> play_dead()/hlt_play_dead() used in processor offline and suspend.
>>
>> Since Linux-3.0 there has been a run-time notice upon "no-hlt"
>invocations
>> indicating that it would be removed in 2012.
>>
>> Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
>> Cc: x86@xxxxxxxxxx
>> ---
>> v2: remove also check_hlt()
>
>[ â ]
>
>> diff --git a/arch/x86/kernel/cpu/proc.c b/arch/x86/kernel/cpu/proc.c
>> index 3286a92..e280253 100644
>> --- a/arch/x86/kernel/cpu/proc.c
>> +++ b/arch/x86/kernel/cpu/proc.c
>> @@ -28,7 +28,6 @@ static void show_cpuinfo_misc(struct seq_file *m,
>struct cpuinfo_x86 *c)
>> {
>> seq_printf(m,
>> "fdiv_bug\t: %s\n"
>> - "hlt_bug\t\t: %s\n"
>
>Are we fine with changing /proc/cpuinfo output? We tend to consider it
>an API to userspace, judging by past experience...

--
Sent from my mobile phone. Please excuse brevity and lack of formatting.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/