Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f3106421 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'idle-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6:
  x86 idle: deprecate mwait_idle() and "idle=mwait" cmdline param
  x86 idle: deprecate "no-hlt" cmdline param
  x86 idle APM: deprecate CONFIG_APM_CPU_IDLE
  x86 idle floppy: deprecate disable_hlt()
  x86 idle: EXPORT_SYMBOL(default_idle, pm_idle) only when APM demands it
  x86 idle: clarify AMD erratum 400 workaround
  idle governor: Avoid lock acquisition to read pm_qos before entering idle
  cpuidle: menu: fixed wrapping timers at 4.294 seconds
parents ef1d5759 5d4c47e0
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
@@ -6,6 +6,42 @@ be removed from this file.

---------------------------

What:	x86 floppy disable_hlt
When:	2012
Why:	ancient workaround of dubious utility clutters the
	code used by everybody else.
Who:	Len Brown <len.brown@intel.com>

---------------------------

What:	CONFIG_APM_CPU_IDLE, and its ability to call APM BIOS in idle
When:	2012
Why:	This optional sub-feature of APM is of dubious reliability,
	and ancient APM laptops are likely better served by calling HLT.
	Deleting CONFIG_APM_CPU_IDLE allows x86 to stop exporting
	the pm_idle function pointer to modules.
Who:	Len Brown <len.brown@intel.com>

----------------------------

What:	x86_32 "no-hlt" cmdline param
When:	2012
Why:	remove a branch from idle path, simplify code used by everybody.
	This option disabled the use of HLT in idle and machine_halt()
	for hardware that was flakey 15-years ago.  Today we have
	"idle=poll" that removed HLT from idle, and so if such a machine
	is still running the upstream kernel, "idle=poll" is likely sufficient.
Who:	Len Brown <len.brown@intel.com>

----------------------------

What:	x86 "idle=mwait" cmdline param
When:	2012
Why:	simplify x86 idle code
Who:	Len Brown <len.brown@intel.com>

----------------------------

What:	PRISM54
When:	2.6.34

+1 −1
Original line number Diff line number Diff line
@@ -139,7 +139,7 @@ static inline unsigned int acpi_processor_cstate_check(unsigned int max_cstate)
	    boot_cpu_data.x86_model <= 0x05 &&
	    boot_cpu_data.x86_mask < 0x0A)
		return 1;
	else if (c1e_detected)
	else if (amd_e400_c1e_detected)
		return 1;
	else
		return max_cstate;
+1 −1
Original line number Diff line number Diff line
@@ -16,6 +16,6 @@ static inline void enter_idle(void) { }
static inline void exit_idle(void) { }
#endif /* CONFIG_X86_64 */

void c1e_remove_cpu(int cpu);
void amd_e400_remove_cpu(int cpu);

#endif /* _ASM_X86_IDLE_H */
+2 −2
Original line number Diff line number Diff line
@@ -754,10 +754,10 @@ static inline void __sti_mwait(unsigned long eax, unsigned long ecx)
extern void mwait_idle_with_hints(unsigned long eax, unsigned long ecx);

extern void select_idle_routine(const struct cpuinfo_x86 *c);
extern void init_c1e_mask(void);
extern void init_amd_e400_c1e_mask(void);

extern unsigned long		boot_option_idle_override;
extern bool			c1e_detected;
extern bool			amd_e400_c1e_detected;

enum idle_boot_override {IDLE_NO_OVERRIDE=0, IDLE_HALT, IDLE_NOMWAIT,
			 IDLE_POLL, IDLE_FORCE_MWAIT};
+2 −0
Original line number Diff line number Diff line
@@ -361,6 +361,7 @@ struct apm_user {
 * idle percentage above which bios idle calls are done
 */
#ifdef CONFIG_APM_CPU_IDLE
#warning deprecated CONFIG_APM_CPU_IDLE will be deleted in 2012
#define DEFAULT_IDLE_THRESHOLD	95
#else
#define DEFAULT_IDLE_THRESHOLD	100
@@ -904,6 +905,7 @@ static void apm_cpu_idle(void)
	unsigned int jiffies_since_last_check = jiffies - last_jiffies;
	unsigned int bucket;

	WARN_ONCE(1, "deprecated apm_cpu_idle will be deleted in 2012");
recalc:
	if (jiffies_since_last_check > IDLE_CALC_LIMIT) {
		use_apm_idle = 0;
Loading