diff options
author | Cliff Wickman <cpw@sgi.com> | 2012-01-16 16:21:46 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2012-01-17 03:09:57 -0500 |
commit | 88ed9dd7f63c3ae71c1984d99ee2dced0b386dea (patch) | |
tree | c08a108089b7ab2e819bba86aef61d093a8b75ed /arch/x86/platform | |
parent | 478c6e529e7bd7c6ef8994c55bd252c287c35893 (diff) |
x86/UV2: Ack BAU interrupt earlier
This patch moves the ack of the BAU interrupt to the beginning
of the interrupt handler so that there is less possibility of a
lost interrupt and slower response to a shootdown message.
Signed-off-by: Cliff Wickman <cpw@sgi.com>
Link: http://lkml.kernel.org/r/20120116212146.GE5767@sgi.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/platform')
-rw-r--r-- | arch/x86/platform/uv/tlb_uv.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/x86/platform/uv/tlb_uv.c b/arch/x86/platform/uv/tlb_uv.c index affea509c174..4686bf1e56ec 100644 --- a/arch/x86/platform/uv/tlb_uv.c +++ b/arch/x86/platform/uv/tlb_uv.c | |||
@@ -1218,6 +1218,7 @@ void uv_bau_message_interrupt(struct pt_regs *regs) | |||
1218 | struct ptc_stats *stat; | 1218 | struct ptc_stats *stat; |
1219 | struct msg_desc msgdesc; | 1219 | struct msg_desc msgdesc; |
1220 | 1220 | ||
1221 | ack_APIC_irq(); | ||
1221 | time_start = get_cycles(); | 1222 | time_start = get_cycles(); |
1222 | 1223 | ||
1223 | bcp = &per_cpu(bau_control, smp_processor_id()); | 1224 | bcp = &per_cpu(bau_control, smp_processor_id()); |
@@ -1247,8 +1248,6 @@ void uv_bau_message_interrupt(struct pt_regs *regs) | |||
1247 | stat->d_nomsg++; | 1248 | stat->d_nomsg++; |
1248 | else if (count > 1) | 1249 | else if (count > 1) |
1249 | stat->d_multmsg++; | 1250 | stat->d_multmsg++; |
1250 | |||
1251 | ack_APIC_irq(); | ||
1252 | } | 1251 | } |
1253 | 1252 | ||
1254 | /* | 1253 | /* |