[PATCH] invert irq/migration.c brach prediction

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



	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 <[email protected]>

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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux