diff options
author | Daniel Walker <dwalker@mvista.com> | 2006-06-23 02:05:29 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-23 07:43:04 -0700 |
commit | 89d0cf01c0aa9e8241cc3703a359ecd6abf3c28a (patch) | |
tree | 149611b8bbd430d482299f5b976da6a6cfc1e718 | |
parent | d20d04bc9befbd752092b4aa42bb8254a1af0776 (diff) | |
download | kernel_samsung_tuna-89d0cf01c0aa9e8241cc3703a359ecd6abf3c28a.zip kernel_samsung_tuna-89d0cf01c0aa9e8241cc3703a359ecd6abf3c28a.tar.gz kernel_samsung_tuna-89d0cf01c0aa9e8241cc3703a359ecd6abf3c28a.tar.bz2 |
[PATCH] invert irq/migration.c brach prediction
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@mvista.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | kernel/irq/migration.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/irq/migration.c b/kernel/irq/migration.c index 134f9f2..a12d00e 100644 --- a/kernel/irq/migration.c +++ b/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); |