Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 89d0cf01 authored by Daniel Walker's avatar Daniel Walker Committed by Linus Torvalds
Browse files

[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: default avatarDaniel Walker <dwalker@mvista.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent d20d04bc
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);