Re: [PATCH] Add function graph tracer support for ARM

From: Tim Bird
Date: Thu Apr 23 2009 - 18:41:42 EST


Frederic Weisbecker wrote:
> On Thu, Apr 23, 2009 at 02:49:56PM -0700, Tim Bird wrote:
>> Uwe ï wrote:
>>>> Signed-off-by: <tim.bird@xxxxxxxxxxx>
>>> According to Documentation/SubmittingPatches you need to provide your
>>> real name in the S-o-b line.
>> OK -that's embarrassing - I'll fix this.
>> scripts/checkpatch.pl didn't catch this. I may look at adding
>> something to checkpatch.pl to catch empty names.
>>
>>> For the lazy of us, can you point me^Uus to some documentation how to
>>> use the graph tracer?
>> It looks like Documentation/ftrace.txt is missing anything about
>> function graph tracing.
>>
>> Should I add a section?
>
>
>
> There is already a section in Documentation/frace.txt as well in 2.6.30 :-)

LOL. :-)

> Oh, that's the first function graph trace from Arm I can see.
> /me feels a bit moved...
>
> Just one childish caprice...it would be nice to see a part of a
> trace which shows specific Arm arch functions in the next changelog :-)

Will do. Here's something to tide you over. I have pages and
pages of the following (repeating over and over):

0) | omap_pm_idle() {
0) + 30.518 us | omap_dma_running();
0) | __exception_text_start() {
0) | irq_enter() {
0) 0.000 us | idle_cpu();
0) 0.000 us | }
0) 0.000 us | irq_to_desc();
0) | handle_level_irq() {
0) + 30.517 us | omap_mask_irq();
0) | omap_mask_ack_irq() {
0) 0.000 us | omap_mask_irq();
0) + 30.518 us | }
0) | handle_IRQ_event() {
0) | omap_mpu_timer1_interrupt() {
0) | tick_handle_periodic() {
0) | tick_periodic() {
0) | do_timer() {
0) | update_wall_time() {
0) 0.000 us | mpu_read();
0) 0.000 us | update_xtime_cache();
0) + 30.517 us | clocksource_get_next();
0) ! 122.070 us | }
0) ! 183.106 us | }
0) | update_process_times() {
0) | account_process_tick() {
0) + 30.517 us | account_idle_time();
0) + 30.517 us | }
0) | run_local_timers() {
0) | hrtimer_run_queues() {
0) 0.000 us | current_kernel_time();
0) + 30.518 us | }
0) 0.000 us | raise_softirq();
0) | softlockup_tick() {
0) | get_timestamp() {
0) 0.000 us | sched_clock();
0) 0.000 us | }
0) + 61.035 us | }
0) ! 122.071 us | }
0) | rcu_pending() {
0) 0.000 us | __rcu_pending();
0) 0.000 us | __rcu_pending();
0) + 61.035 us | }
0) 0.000 us | printk_tick();
0) | scheduler_tick() {
0) 0.000 us | sched_clock();
0) + 30.518 us | task_tick_idle();
0) + 61.035 us | }
0) 0.000 us | run_posix_cpu_timers();
0) ! 305.176 us | }
0) 0.000 us | profile_tick();
0) ! 518.799 us | }
0) ! 518.799 us | }
0) ! 549.316 us | }
0) ! 549.316 us | }
0) 0.000 us | note_interrupt();
0) 0.000 us | omap_unmask_irq();
0) ! 671.386 us | }
0) | irq_exit() {
0) | __do_softirq() {
0) | run_timer_softirq() {
0) 0.000 us | hrtimer_run_pending();
0) + 30.518 us | }
0) 0.000 us | _local_bh_enable();
0) + 61.036 us | }
0) + 91.553 us | }
0) ! 823.975 us | }
0) ! 9979.248 us | }

Enjoy :-)
-- Tim

=============================
Tim Bird
Architecture Group Chair, CE Linux Forum
Senior Staff Engineer, Sony Corporation of America
=============================

--
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/