diff options
author | Jack Steiner <steiner@sgi.com> | 2006-10-16 13:56:54 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2006-10-17 17:51:49 -0400 |
commit | accaddb27a2d544e38e10ff2a2782b33bbbad913 (patch) | |
tree | a5c967039a09b176f7c71e375e0aecdbd8118038 /arch/ia64 | |
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')
-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 41169a9bc301..39e0cd3a0884 100644 --- a/arch/ia64/kernel/time.c +++ b/arch/ia64/kernel/time.c | |||
@@ -84,6 +84,12 @@ timer_interrupt (int irq, void *dev_id) | |||
84 | 84 | ||
85 | if (time_after(new_itm, ia64_get_itc())) | 85 | if (time_after(new_itm, ia64_get_itc())) |
86 | break; | 86 | break; |
87 | |||
88 | /* | ||
89 | * Allow IPIs to interrupt the timer loop. | ||
90 | */ | ||
91 | local_irq_enable(); | ||
92 | local_irq_disable(); | ||
87 | } | 93 | } |
88 | 94 | ||
89 | do { | 95 | do { |