Messages in this thread | | | Date | Mon, 8 Dec 2008 14:47:49 +0100 | From | "Frédéric Weisbecker" <> | Subject | Re: [PATCH 1/2] tracing/function-graph-tracer: signal interrupts entry/exit points on outpout |
| |
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?
| |