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

Commit 68ca4069 authored by Len Brown's avatar Len Brown
Browse files

ACPI: delete the "acpi=ht" boot option



acpi=ht was important in 2003 -- before ACPI was
universally deployed and enabled by default in
the major Linux distributions.

At that time, there were a fair number of people who
or chose to, or needed to, run with acpi=off,
yet also wanted access to Hyper-threading.

Today we find that many invocations of "acpi=ht"
are accidental, and thus is it possible that it
is doing more harm than good.

In 2.6.34, we warn on invocation of acpi=ht.
In 2.6.35, we delete the boot option.

Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 4c81ba49
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -143,11 +143,10 @@ and is between 256 and 4096 characters. It is defined in the file


	acpi=		[HW,ACPI,X86]
	acpi=		[HW,ACPI,X86]
			Advanced Configuration and Power Interface
			Advanced Configuration and Power Interface
			Format: { force | off | ht | strict | noirq | rsdt }
			Format: { force | off | strict | noirq | rsdt }
			force -- enable ACPI if default was off
			force -- enable ACPI if default was off
			off -- disable ACPI if default was on
			off -- disable ACPI if default was on
			noirq -- do not use ACPI for IRQ routing
			noirq -- do not use ACPI for IRQ routing
			ht -- run only enough ACPI to enable Hyper Threading
			strict -- Be less tolerant of platforms that are not
			strict -- Be less tolerant of platforms that are not
				strictly ACPI specification compliant.
				strictly ACPI specification compliant.
			rsdt -- prefer RSDT over (default) XSDT
			rsdt -- prefer RSDT over (default) XSDT
+0 −1
Original line number Original line Diff line number Diff line
@@ -94,7 +94,6 @@ ia64_acpi_release_global_lock (unsigned int *lock)
#define acpi_noirq 0	/* ACPI always enabled on IA64 */
#define acpi_noirq 0	/* ACPI always enabled on IA64 */
#define acpi_pci_disabled 0 /* ACPI PCI always enabled on IA64 */
#define acpi_pci_disabled 0 /* ACPI PCI always enabled on IA64 */
#define acpi_strict 1	/* no ACPI spec workarounds on IA64 */
#define acpi_strict 1	/* no ACPI spec workarounds on IA64 */
#define acpi_ht 0	/* no HT-only mode on IA64 */
#endif
#endif
#define acpi_processor_cstate_check(x) (x) /* no idle limits on IA64 :) */
#define acpi_processor_cstate_check(x) (x) /* no idle limits on IA64 :) */
static inline void disable_acpi(void) { }
static inline void disable_acpi(void) { }
+0 −2
Original line number Original line Diff line number Diff line
@@ -85,7 +85,6 @@ extern int acpi_ioapic;
extern int acpi_noirq;
extern int acpi_noirq;
extern int acpi_strict;
extern int acpi_strict;
extern int acpi_disabled;
extern int acpi_disabled;
extern int acpi_ht;
extern int acpi_pci_disabled;
extern int acpi_pci_disabled;
extern int acpi_skip_timer_override;
extern int acpi_skip_timer_override;
extern int acpi_use_timer_override;
extern int acpi_use_timer_override;
@@ -97,7 +96,6 @@ void acpi_pic_sci_set_trigger(unsigned int, u16);
static inline void disable_acpi(void)
static inline void disable_acpi(void)
{
{
	acpi_disabled = 1;
	acpi_disabled = 1;
	acpi_ht = 0;
	acpi_pci_disabled = 1;
	acpi_pci_disabled = 1;
	acpi_noirq = 1;
	acpi_noirq = 1;
}
}
+3 −16
Original line number Original line Diff line number Diff line
@@ -62,7 +62,6 @@ EXPORT_SYMBOL(acpi_disabled);
int acpi_noirq;				/* skip ACPI IRQ initialization */
int acpi_noirq;				/* skip ACPI IRQ initialization */
int acpi_pci_disabled;		/* skip ACPI PCI scan and IRQ initialization */
int acpi_pci_disabled;		/* skip ACPI PCI scan and IRQ initialization */
EXPORT_SYMBOL(acpi_pci_disabled);
EXPORT_SYMBOL(acpi_pci_disabled);
int acpi_ht __initdata = 1;	/* enable HT */


int acpi_lapic;
int acpi_lapic;
int acpi_ioapic;
int acpi_ioapic;
@@ -1460,9 +1459,8 @@ void __init acpi_boot_table_init(void)


	/*
	/*
	 * If acpi_disabled, bail out
	 * If acpi_disabled, bail out
	 * One exception: acpi=ht continues far enough to enumerate LAPICs
	 */
	 */
	if (acpi_disabled && !acpi_ht)
	if (acpi_disabled)
		return; 
		return; 


	/*
	/*
@@ -1493,9 +1491,8 @@ int __init early_acpi_boot_init(void)
{
{
	/*
	/*
	 * If acpi_disabled, bail out
	 * If acpi_disabled, bail out
	 * One exception: acpi=ht continues far enough to enumerate LAPICs
	 */
	 */
	if (acpi_disabled && !acpi_ht)
	if (acpi_disabled)
		return 1;
		return 1;


	/*
	/*
@@ -1513,9 +1510,8 @@ int __init acpi_boot_init(void)


	/*
	/*
	 * If acpi_disabled, bail out
	 * If acpi_disabled, bail out
	 * One exception: acpi=ht continues far enough to enumerate LAPICs
	 */
	 */
	if (acpi_disabled && !acpi_ht)
	if (acpi_disabled)
		return 1;
		return 1;


	acpi_table_parse(ACPI_SIG_BOOT, acpi_parse_sbf);
	acpi_table_parse(ACPI_SIG_BOOT, acpi_parse_sbf);
@@ -1550,21 +1546,12 @@ static int __init parse_acpi(char *arg)
	/* acpi=force to over-ride black-list */
	/* acpi=force to over-ride black-list */
	else if (strcmp(arg, "force") == 0) {
	else if (strcmp(arg, "force") == 0) {
		acpi_force = 1;
		acpi_force = 1;
		acpi_ht = 1;
		acpi_disabled = 0;
		acpi_disabled = 0;
	}
	}
	/* acpi=strict disables out-of-spec workarounds */
	/* acpi=strict disables out-of-spec workarounds */
	else if (strcmp(arg, "strict") == 0) {
	else if (strcmp(arg, "strict") == 0) {
		acpi_strict = 1;
		acpi_strict = 1;
	}
	}
	/* Limit ACPI just to boot-time to enable HT */
	else if (strcmp(arg, "ht") == 0) {
		if (!acpi_force) {
			printk(KERN_WARNING "acpi=ht will be removed in Linux-2.6.35\n");
			disable_acpi();
		}
		acpi_ht = 1;
	}
	/* acpi=rsdt use RSDT instead of XSDT */
	/* acpi=rsdt use RSDT instead of XSDT */
	else if (strcmp(arg, "rsdt") == 0) {
	else if (strcmp(arg, "rsdt") == 0) {
		acpi_rsdt_forced = 1;
		acpi_rsdt_forced = 1;
+0 −1
Original line number Original line Diff line number Diff line
@@ -1391,7 +1391,6 @@ __init void lguest_init(void)
#endif
#endif
#ifdef CONFIG_ACPI
#ifdef CONFIG_ACPI
	acpi_disabled = 1;
	acpi_disabled = 1;
	acpi_ht = 0;
#endif
#endif


	/*
	/*
Loading