aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCliff Wickman <cpw@sgi.com>2012-01-16 16:21:46 -0500
committerIngo Molnar <mingo@elte.hu>2012-01-17 03:09:57 -0500
commit88ed9dd7f63c3ae71c1984d99ee2dced0b386dea (patch)
treec08a108089b7ab2e819bba86aef61d093a8b75ed
parent478c6e529e7bd7c6ef8994c55bd252c287c35893 (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>
-rw-r--r--arch/x86/platform/uv/tlb_uv.c3
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/*