Re: [PATCH 4/4] perf tools: Complete support for dynamic strings

From: Ingo Molnar
Date: Mon Aug 31 2009 - 04:11:52 EST



* Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:

> Complete support for __str_loc type strings of ftrace events which
> have dynamic offsets values set for each of them inside their sammples.
>
> Before:
> geany-5759 [000] 0.000000: lock_release: name
> geany-5759 [000] 0.000000: lock_release: name
> geany-5759 [000] 0.000000: lock_release: name
> kondemand/0-362 [000] 0.000000: lock_release: name
> pdflush-421 [000] 0.000000: lock_release: name
>
> After:
> geany-5759 [000] 0.000000: lock_release: &u->lock
> geany-5759 [000] 0.000000: lock_release: key
> geany-5759 [000] 0.000000: lock_release: &group->notification_mutex
> kondemand/0-362 [000] 0.000000: lock_release: &rq->lock
> pdflush-421 [000] 0.000000: lock_release: &rq->lock

I've applied all five patches, thanks Frederic!

Also, i think this makes perf trace quite functional already so i
merged that topic (and these commits) into tracing/core, for v2.6.32
merging.

One thing that i noticed which is still quite quirky are the
parameters to perf record. (needing -R and the :r postfix to events)
Could something more intuitive be done here?

Also, i think people would like to use wildcards in event
specifiers, such as:

perf record -e timer/*

To capture all timer events:

hrtimer_cancel
hrtimer_expire_entry
hrtimer_expire_exit
hrtimer_init
hrtimer_start
itimer_expire
itimer_state
timer_cancel
timer_expire_entry
timer_expire_exit
timer_init
timer_start

Instead of having to type:

perf record -e hrtimer_cancel -e hrtimer_expire_entry \
-e hrtimer_expire_exit -e hrtimer_init -e hrtimer_start \
-e itimer_expire -e itimer_state -e timer_cancel \
-e timer_expire_entry -e timer_expire_exit -e timer_init \
-e timer_start

which is not quite realistic.

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