|
@@ -353,14 +353,6 @@ static void set_ioapic_affinity_irq(unsigned int irq, cpumask_t cpumask)
|
|
|
# include <linux/slab.h> /* kmalloc() */
|
|
|
# include <linux/timer.h> /* time_after() */
|
|
|
|
|
|
-#ifdef CONFIG_BALANCED_IRQ_DEBUG
|
|
|
-# define TDprintk(x...) do { printk("<%ld:%s:%d>: ", jiffies, __FILE__, __LINE__); printk(x); } while (0)
|
|
|
-# define Dprintk(x...) do { TDprintk(x); } while (0)
|
|
|
-# else
|
|
|
-# define TDprintk(x...)
|
|
|
-# define Dprintk(x...)
|
|
|
-# endif
|
|
|
-
|
|
|
#define IRQBALANCE_CHECK_ARCH -999
|
|
|
#define MAX_BALANCED_IRQ_INTERVAL (5*HZ)
|
|
|
#define MIN_BALANCED_IRQ_INTERVAL (HZ/2)
|
|
@@ -443,7 +435,7 @@ static inline void balance_irq(int cpu, int irq)
|
|
|
static inline void rotate_irqs_among_cpus(unsigned long useful_load_threshold)
|
|
|
{
|
|
|
int i, j;
|
|
|
- Dprintk("Rotating IRQs among CPUs.\n");
|
|
|
+
|
|
|
for_each_online_cpu(i) {
|
|
|
for (j = 0; j < NR_IRQS; j++) {
|
|
|
if (!irq_desc[j].action)
|
|
@@ -560,19 +552,11 @@ tryanothercpu:
|
|
|
max_loaded = tmp_loaded; /* processor */
|
|
|
imbalance = (max_cpu_irq - min_cpu_irq) / 2;
|
|
|
|
|
|
- Dprintk("max_loaded cpu = %d\n", max_loaded);
|
|
|
- Dprintk("min_loaded cpu = %d\n", min_loaded);
|
|
|
- Dprintk("max_cpu_irq load = %ld\n", max_cpu_irq);
|
|
|
- Dprintk("min_cpu_irq load = %ld\n", min_cpu_irq);
|
|
|
- Dprintk("load imbalance = %lu\n", imbalance);
|
|
|
-
|
|
|
/* if imbalance is less than approx 10% of max load, then
|
|
|
* observe diminishing returns action. - quit
|
|
|
*/
|
|
|
- if (imbalance < (max_cpu_irq >> 3)) {
|
|
|
- Dprintk("Imbalance too trivial\n");
|
|
|
+ if (imbalance < (max_cpu_irq >> 3))
|
|
|
goto not_worth_the_effort;
|
|
|
- }
|
|
|
|
|
|
tryanotherirq:
|
|
|
/* if we select an IRQ to move that can't go where we want, then
|
|
@@ -629,9 +613,6 @@ tryanotherirq:
|
|
|
cpus_and(tmp, target_cpu_mask, allowed_mask);
|
|
|
|
|
|
if (!cpus_empty(tmp)) {
|
|
|
-
|
|
|
- Dprintk("irq = %d moved to cpu = %d\n",
|
|
|
- selected_irq, min_loaded);
|
|
|
/* mark for change destination */
|
|
|
set_pending_irq(selected_irq, cpumask_of_cpu(min_loaded));
|
|
|
|
|
@@ -651,7 +632,6 @@ not_worth_the_effort:
|
|
|
*/
|
|
|
balanced_irq_interval = min((long)MAX_BALANCED_IRQ_INTERVAL,
|
|
|
balanced_irq_interval + BALANCED_IRQ_MORE_DELTA);
|
|
|
- Dprintk("IRQ worth rotating not found\n");
|
|
|
return;
|
|
|
}
|
|
|
|