]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
x86 idle: remove 32-bit-only "no-hlt" parameter, hlt_works_ok flag
authorLen Brown <len.brown@intel.com>
Sun, 10 Feb 2013 07:28:46 +0000 (02:28 -0500)
committerLen Brown <len.brown@intel.com>
Sun, 10 Feb 2013 08:32:22 +0000 (03:32 -0500)
commit27be457000211a6903968dfce06d5f73f051a217
tree3c7aa75a0a8dc180944cfecae466f26aa5a8dc29
parent69fb3676df3329a7142803bb3502fa59dc0db2e3
x86 idle: remove 32-bit-only "no-hlt" parameter, hlt_works_ok flag

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@intel.com>
Cc: x86@kernel.org
Documentation/kernel-parameters.txt
arch/x86/include/asm/processor.h
arch/x86/kernel/cpu/bugs.c
arch/x86/kernel/cpu/proc.c
arch/x86/kernel/process.c
arch/x86/xen/setup.c