Re: [PATCH 1/2] tracing/function-graph-tracer: signal interrupts entry/exit points on outpout

From: Frédéric Weisbecker
Date: Mon Dec 08 2008 - 08:48:22 EST


2008/12/8 Ingo Molnar <mingo@xxxxxxx>:
>
> * Frederic Weisbecker <fweisbec@xxxxxxxxx> 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?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/