diff options
author | Jack Steiner <steiner@sgi.com> | 2006-10-16 12:56:54 -0500 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2006-10-17 14:51:49 -0700 |
commit | accaddb27a2d544e38e10ff2a2782b33bbbad913 (patch) | |
tree | a5c967039a09b176f7c71e375e0aecdbd8118038 /arch/ia64/kernel/time.c | |
parent | ffc45571dfb4b70e7eda8d97f64a05f5e5a992ac (diff) |
[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>
Diffstat (limited to 'arch/ia64/kernel/time.c')
-rw-r--r-- | arch/ia64/kernel/time.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c index 41169a9bc30..39e0cd3a088 100644 --- a/arch/ia64/kernel/time.c +++ b/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 { |