aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern B. Brandenburg <bbb@cs.unc.edu>2009-04-28 14:54:56 -0400
committerBjoern B. Brandenburg <bbb@cs.unc.edu>2009-04-28 14:54:56 -0400
commitf7d1632b07552e23526466b513b343df2d289c2d (patch)
tree855ae020036e1c96393f6ba9bdb2e28b6a47d016
parentadf9aa9c985dfd72ecf04e17d785689d60ac66e7 (diff)
trace IPI latency on x86
-rw-r--r--arch/x86/kernel/smp_32.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kernel/smp_32.c b/arch/x86/kernel/smp_32.c
index e1c5aa316f..8d28cee0de 100644
--- a/arch/x86/kernel/smp_32.c
+++ b/arch/x86/kernel/smp_32.c
@@ -26,6 +26,7 @@
26#include <mach_apic.h> 26#include <mach_apic.h>
27 27
28#include <litmus/litmus.h> 28#include <litmus/litmus.h>
29#include <litmus/trace.h>
29 30
30/* 31/*
31 * Some notes on x86 processor bugs affecting SMP operation: 32 * Some notes on x86 processor bugs affecting SMP operation:
@@ -474,6 +475,7 @@ void flush_tlb_all(void)
474static void native_smp_send_reschedule(int cpu) 475static void native_smp_send_reschedule(int cpu)
475{ 476{
476 WARN_ON(cpu_is_offline(cpu)); 477 WARN_ON(cpu_is_offline(cpu));
478 TS_SEND_RESCHED_START(cpu);
477 send_IPI_mask(cpumask_of_cpu(cpu), RESCHEDULE_VECTOR); 479 send_IPI_mask(cpumask_of_cpu(cpu), RESCHEDULE_VECTOR);
478} 480}
479 481
@@ -651,6 +653,7 @@ fastcall void smp_reschedule_interrupt(struct pt_regs *regs)
651 ack_APIC_irq(); 653 ack_APIC_irq();
652 set_tsk_need_resched(current); 654 set_tsk_need_resched(current);
653 __get_cpu_var(irq_stat).irq_resched_count++; 655 __get_cpu_var(irq_stat).irq_resched_count++;
656 TS_SEND_RESCHED_END;
654} 657}
655 658
656extern void hrtimer_pull(void); 659extern void hrtimer_pull(void);