Procházet zdrojové kódy

[IA64] - Allow IPIs in timer loop

Allow pending IPIs to interrupt a timer interrupt that is looping
in the do_timer() "while" loop in timer_interrupt(). (Interrupts are
allowed at only 1 spot in the code).

Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Jack Steiner před 18 roky
rodič
revize
accaddb27a
1 změnil soubory, kde provedl 6 přidání a 0 odebrání
  1. 6 0
      arch/ia64/kernel/time.c

+ 6 - 0
arch/ia64/kernel/time.c

@@ -84,6 +84,12 @@ timer_interrupt (int irq, void *dev_id)
 
 		if (time_after(new_itm, ia64_get_itc()))
 			break;
+
+		/*
+		 * Allow IPIs to interrupt the timer loop.
+		 */
+		local_irq_enable();
+		local_irq_disable();
 	}
 
 	do {