Commit d2177b1a authored by Andrew Morton's avatar Andrew Morton Committed by Jeff Garzik

[PATCH] fix IRQ balancing disable controls

Patch from "Martin J. Bligh" <mbligh@aracnet.com>

Fixes up the logic and code which is used to suppress the IRQ balancing code.

We now just have a single boolean, "irqbalance_disabled".  The initial value
comes from the per-platform "NO_BALANCE_IRQ" constant.

If the platform defaults to "on", users can override this with the
"noirqbalance" kernel boot option.
parent 9f22d985
...@@ -223,7 +223,7 @@ static void set_ioapic_affinity (unsigned int irq, unsigned long mask) ...@@ -223,7 +223,7 @@ static void set_ioapic_affinity (unsigned int irq, unsigned long mask)
extern unsigned long irq_affinity [NR_IRQS]; extern unsigned long irq_affinity [NR_IRQS];
int __cacheline_aligned pending_irq_balance_apicid [NR_IRQS]; int __cacheline_aligned pending_irq_balance_apicid [NR_IRQS];
static int irqbalance_disabled __initdata = 0; static int irqbalance_disabled = NO_BALANCE_IRQ;
static int physical_balance = 0; static int physical_balance = 0;
struct irq_cpu_info { struct irq_cpu_info {
...@@ -492,7 +492,7 @@ static inline void balance_irq (int cpu, int irq) ...@@ -492,7 +492,7 @@ static inline void balance_irq (int cpu, int irq)
unsigned long allowed_mask; unsigned long allowed_mask;
unsigned int new_cpu; unsigned int new_cpu;
if (no_balance_irq) if (irqbalance_disabled)
return; return;
allowed_mask = cpu_online_map & irq_affinity[irq]; allowed_mask = cpu_online_map & irq_affinity[irq];
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
((phys_apic) & (~0xf)) ) ((phys_apic) & (~0xf)) )
#endif #endif
#define no_balance_irq (1) #define NO_BALANCE_IRQ (1)
#define esr_disable (1) #define esr_disable (1)
static inline int apic_id_registered(void) static inline int apic_id_registered(void)
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
#define TARGET_CPUS 0x01 #define TARGET_CPUS 0x01
#endif #endif
#define no_balance_irq (0) #define NO_BALANCE_IRQ (0)
#define esr_disable (0) #define esr_disable (0)
#define INT_DELIVERY_MODE dest_LowestPrio #define INT_DELIVERY_MODE dest_LowestPrio
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define TARGET_CPUS (0xf) #define TARGET_CPUS (0xf)
#define no_balance_irq (1) #define NO_BALANCE_IRQ (1)
#define esr_disable (1) #define esr_disable (1)
#define INT_DELIVERY_MODE dest_LowestPrio #define INT_DELIVERY_MODE dest_LowestPrio
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
extern int x86_summit; extern int x86_summit;
#define esr_disable (x86_summit ? 1 : 0) #define esr_disable (x86_summit ? 1 : 0)
#define no_balance_irq (0) #define NO_BALANCE_IRQ (0)
#define XAPIC_DEST_CPUS_MASK 0x0Fu #define XAPIC_DEST_CPUS_MASK 0x0Fu
#define XAPIC_DEST_CLUSTER_MASK 0xF0u #define XAPIC_DEST_CLUSTER_MASK 0xF0u
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment