|
@@ -531,7 +531,7 @@ int __init acpi_irq_penalty_init(void)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static int acpi_irq_balance; /* 0: static, 1: balance */
|
|
|
+static int acpi_irq_balance = -1; /* 0: static, 1: balance */
|
|
|
|
|
|
static int acpi_pci_link_allocate(struct acpi_pci_link *link)
|
|
|
{
|
|
@@ -950,10 +950,17 @@ device_initcall(irqrouter_init_sysfs);
|
|
|
|
|
|
static int __init acpi_pci_link_init(void)
|
|
|
{
|
|
|
-
|
|
|
if (acpi_noirq)
|
|
|
return 0;
|
|
|
|
|
|
+ if (acpi_irq_balance == -1) {
|
|
|
+ /* no command line switch: enable balancing in IOAPIC mode */
|
|
|
+ if (acpi_irq_model == ACPI_IRQ_MODEL_IOAPIC)
|
|
|
+ acpi_irq_balance = 1;
|
|
|
+ else
|
|
|
+ acpi_irq_balance = 0;
|
|
|
+ }
|
|
|
+
|
|
|
acpi_link.count = 0;
|
|
|
INIT_LIST_HEAD(&acpi_link.entries);
|
|
|
|