Messages in this thread | | | Subject | Re: [PATCH v2 5/6] trace: Add tracepoints to call function interrupt handlers | From | Peter Zijlstra <> | Date | Thu, 28 Jul 2011 14:17:42 +0200 |
| |
On Wed, 2011-07-27 at 11:57 -0700, Vaibhav Nagarnaik wrote: > @@ -172,6 +173,7 @@ void generic_smp_call_function_interrupt(void) > struct call_function_data *data; > int cpu = smp_processor_id(); > > + trace_call_function_ipi_entry(0); > /* > * Shouldn't receive this interrupt on a cpu that is not yet online. > */ > @@ -239,7 +241,7 @@ void generic_smp_call_function_interrupt(void) > > csd_unlock(&data->csd); > } > - > + trace_call_function_ipi_exit(0); > } > > /* > @@ -252,6 +254,7 @@ void generic_smp_call_function_single_interrupt(void) > unsigned int data_flags; > LIST_HEAD(list); > > + trace_call_function_single_ipi_entry(0); > /* > * Shouldn't receive this interrupt on a cpu that is not yet online. > */ > @@ -282,6 +285,7 @@ void generic_smp_call_function_single_interrupt(void) > if (data_flags & CSD_FLAG_LOCK) > csd_unlock(data); > } > + trace_call_function_single_ipi_exit(0); > }
The problem with this is that some archs only have a single IPI and multiplex all IPIs on top, in that case you're either nesting interrupt tracepoints or missing a part.
I really think you're doing this at the wrong level.
| |