Messages in this thread | | | Date | Mon, 8 Dec 2008 15:03:51 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH 1/2] tracing/function-graph-tracer: signal interrupts entry/exit points on outpout |
| |
* Frédéric Weisbecker <fweisbec@gmail.com> wrote:
> 2008/12/8 Ingo Molnar <mingo@elte.hu>: > > > > * Frederic Weisbecker <fweisbec@gmail.com> wrote: > > > >> +/* Used during output to find the interrupts entry/exit points */ > >> +const char *ftrace_graph_irq_entries[] = { > >> + "smp_call_function_single_interrupt", > >> + "xen_call_function_single_interrupt", > >> + "wrapper_smp_local_timer_interrupt", > >> + "smp_irq_move_cleanup_interrupt", > >> + "smp_call_function_interrupt", > >> + "xen_call_function_interrupt", > >> + "smp_apic_timer_interrupt", > >> + "uv_bau_message_interrupt", > >> + "mce_threshold_interrupt", > >> + "smp_spurious_interrupt", > >> + "smp_thermal_interrupt", > >> + "smp_error_interrupt", > >> + "do_IRQ", > >> + NULL > > > > hm, couldnt we move these symbols to a separate section, and then only > > check for [section.start ... section.end] instead of this ugly and slow > > array? > > > > Missing a few annotations initially is no big deal - we wont have > > pretty-print. do_IRQ() and smp_apic_timer_interrupt is what matters most > > in practice. "__irqentry" section annotation or so, which puts them into > > .text.irqentry or so - and then irqentry_start/end are extracted via > > appropriate glue in the arch/x86/kernel/vmlinux* linker script. > > > I found it a bit ugly too while I wrote it :-( I like this idea of a > section, I will just have to verify if it is between the start and the > end of it to check if its an irq entry. But I think that even if the > others than do_IRQ and smp_apic_timer_interrupt are more rare, they > should be annotated for this new section (and it seems there are new > coming interrupts like smp_perf_counter_interrupt() in perf > counter....)... Perhaps someone would profile them... > > Hm?
not annotating an IRQ entry is not a big problem in practice: people will notice them in traces that they are not annotated, will send a feature request, we annotate them. If they are not noticed, it means they are rare in one way or another, and dont matter in practice. So this is a self-maintaining concept.
Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |