[PATCH] invert irq/migration.c brach prediction

From: Daniel Walker
Date: Fri Apr 21 2006 - 02:06:44 EST


If you get to that point in the code it means that
desc->move_irq is set, pending_irq_cpumask[irq] and cpu_online_map
should have a value. Still pretty good chance anding those two
you'll still have a value. So these two branch predictors should
be inverted .

Signed-Off-By: Daniel Walker <dwalker@xxxxxxxxxx>

Index: linux-2.6.16/kernel/irq/migration.c
===================================================================
--- linux-2.6.16.orig/kernel/irq/migration.c
+++ linux-2.6.16/kernel/irq/migration.c
@@ -30,7 +30,7 @@ void move_native_irq(int irq)

desc->move_irq = 0;

- if (likely(cpus_empty(pending_irq_cpumask[irq])))
+ if (unlikely(cpus_empty(pending_irq_cpumask[irq])))
return;

if (!desc->handler->set_affinity)
@@ -49,7 +49,7 @@ void move_native_irq(int irq)
* cause some ioapics to mal-function.
* Being paranoid i guess!
*/
- if (unlikely(!cpus_empty(tmp))) {
+ if (likely(!cpus_empty(tmp))) {
if (likely(!(desc->status & IRQ_DISABLED)))
desc->handler->disable(irq);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/