Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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: Len Brown <len.brown@intel.com>

Len Brown 68ca4069 4c81ba49

+6 -24
+1 -2
Documentation/kernel-parameters.txt
··· 143 143 144 144 acpi= [HW,ACPI,X86] 145 145 Advanced Configuration and Power Interface 146 - Format: { force | off | ht | strict | noirq | rsdt } 146 + Format: { force | off | strict | noirq | rsdt } 147 147 force -- enable ACPI if default was off 148 148 off -- disable ACPI if default was on 149 149 noirq -- do not use ACPI for IRQ routing 150 - ht -- run only enough ACPI to enable Hyper Threading 151 150 strict -- Be less tolerant of platforms that are not 152 151 strictly ACPI specification compliant. 153 152 rsdt -- prefer RSDT over (default) XSDT
-1
arch/ia64/include/asm/acpi.h
··· 94 94 #define acpi_noirq 0 /* ACPI always enabled on IA64 */ 95 95 #define acpi_pci_disabled 0 /* ACPI PCI always enabled on IA64 */ 96 96 #define acpi_strict 1 /* no ACPI spec workarounds on IA64 */ 97 - #define acpi_ht 0 /* no HT-only mode on IA64 */ 98 97 #endif 99 98 #define acpi_processor_cstate_check(x) (x) /* no idle limits on IA64 :) */ 100 99 static inline void disable_acpi(void) { }
-2
arch/x86/include/asm/acpi.h
··· 85 85 extern int acpi_noirq; 86 86 extern int acpi_strict; 87 87 extern int acpi_disabled; 88 - extern int acpi_ht; 89 88 extern int acpi_pci_disabled; 90 89 extern int acpi_skip_timer_override; 91 90 extern int acpi_use_timer_override; ··· 96 97 static inline void disable_acpi(void) 97 98 { 98 99 acpi_disabled = 1; 99 - acpi_ht = 0; 100 100 acpi_pci_disabled = 1; 101 101 acpi_noirq = 1; 102 102 }
+3 -16
arch/x86/kernel/acpi/boot.c
··· 62 62 int acpi_noirq; /* skip ACPI IRQ initialization */ 63 63 int acpi_pci_disabled; /* skip ACPI PCI scan and IRQ initialization */ 64 64 EXPORT_SYMBOL(acpi_pci_disabled); 65 - int acpi_ht __initdata = 1; /* enable HT */ 66 65 67 66 int acpi_lapic; 68 67 int acpi_ioapic; ··· 1459 1460 1460 1461 /* 1461 1462 * If acpi_disabled, bail out 1462 - * One exception: acpi=ht continues far enough to enumerate LAPICs 1463 1463 */ 1464 - if (acpi_disabled && !acpi_ht) 1464 + if (acpi_disabled) 1465 1465 return; 1466 1466 1467 1467 /* ··· 1491 1493 { 1492 1494 /* 1493 1495 * If acpi_disabled, bail out 1494 - * One exception: acpi=ht continues far enough to enumerate LAPICs 1495 1496 */ 1496 - if (acpi_disabled && !acpi_ht) 1497 + if (acpi_disabled) 1497 1498 return 1; 1498 1499 1499 1500 /* ··· 1510 1513 1511 1514 /* 1512 1515 * If acpi_disabled, bail out 1513 - * One exception: acpi=ht continues far enough to enumerate LAPICs 1514 1516 */ 1515 - if (acpi_disabled && !acpi_ht) 1517 + if (acpi_disabled) 1516 1518 return 1; 1517 1519 1518 1520 acpi_table_parse(ACPI_SIG_BOOT, acpi_parse_sbf); ··· 1546 1550 /* acpi=force to over-ride black-list */ 1547 1551 else if (strcmp(arg, "force") == 0) { 1548 1552 acpi_force = 1; 1549 - acpi_ht = 1; 1550 1553 acpi_disabled = 0; 1551 1554 } 1552 1555 /* acpi=strict disables out-of-spec workarounds */ 1553 1556 else if (strcmp(arg, "strict") == 0) { 1554 1557 acpi_strict = 1; 1555 - } 1556 - /* Limit ACPI just to boot-time to enable HT */ 1557 - else if (strcmp(arg, "ht") == 0) { 1558 - if (!acpi_force) { 1559 - printk(KERN_WARNING "acpi=ht will be removed in Linux-2.6.35\n"); 1560 - disable_acpi(); 1561 - } 1562 - acpi_ht = 1; 1563 1558 } 1564 1559 /* acpi=rsdt use RSDT instead of XSDT */ 1565 1560 else if (strcmp(arg, "rsdt") == 0) {
-1
arch/x86/lguest/boot.c
··· 1391 1391 #endif 1392 1392 #ifdef CONFIG_ACPI 1393 1393 acpi_disabled = 1; 1394 - acpi_ht = 0; 1395 1394 #endif 1396 1395 1397 1396 /*
+2 -2
drivers/acpi/tables.c
··· 213 213 unsigned long table_end; 214 214 acpi_size tbl_size; 215 215 216 - if (acpi_disabled && !acpi_ht) 216 + if (acpi_disabled) 217 217 return -ENODEV; 218 218 219 219 if (!handler) ··· 280 280 struct acpi_table_header *table = NULL; 281 281 acpi_size tbl_size; 282 282 283 - if (acpi_disabled && !acpi_ht) 283 + if (acpi_disabled) 284 284 return -ENODEV; 285 285 286 286 if (!handler)