[Devel] [PATCH 0/7] Profiling sleep times (v3)

Andrey Vagin avagin at openvz.org
Mon Dec 5 23:15:07 PST 2011


Hello Arnaldo,

I found, that you commit patches for perf. Could you review this part?

Arun Sharma said, that the second versions of patches works ok for him.
(Arun is the first user of this functionality after me.)

Thanks.

On 11/28/2011 01:03 PM, Andrew Vagin wrote:
> Do you want to know where your code waits locks for a long time?
> Yes! It's for you. This feature helps you to find bottlenecks.
>
> It's not artificial task. Once one of my colleague was investigating a
> scalability problem. He pressed sysrq-t some times and tried to merge
> call-chains by hand. But perf can do that.
>
> Problem:
> The problem is that events sched_stat_* contain call-chains of
> non-target tasks.
> About month ago I sent series of patches:
>
> [PATCH 0/3] trace: add ability to collect call chains of non current task.
>
> Peter and Frederic explained me, that this solve isn't good and will be
> better to make it in userspace.
>
> Now it's in userspace. This series expands "perf inject" to be able to
> merge sched_switch events and sched_stat* events. sched_switch events
> contain correct call-chains and sched_stat contains a correct time
> slices.
>
> v2:
> * Removed all known issues. Now it works completely.
> * Improved usability of sched-stat scripts according with Arun's comments.
> v3: fixed accoding to comments from David Ahem
>
> Andrew Vagin (7):
>    perf: use event_name() to get an event name
>    perf: add ability to record event period
>    perf: add ability to change event according to sample (v2)
>    perf: teach "perf inject" to work with files
>    perf: teach perf inject to merge sched_stat_* and sched_switch events
>    perf: add scripts for profiling sleep times (v2)
>    event: add tracepoint for accounting block time
>
>   include/trace/events/sched.h                    |    7 ++
>   kernel/sched_fair.c                             |    2 +
>   tools/perf/builtin-inject.c                     |  120 ++++++++++++++++++++++-
>   tools/perf/builtin-record.c                     |    5 +
>   tools/perf/scripts/python/bin/sched-stat-record |   65 ++++++++++++
>   tools/perf/scripts/python/bin/sched-stat-report |    5 +
>   tools/perf/util/event.h                         |    2 +
>   tools/perf/util/evsel.c                         |   74 ++++++++++++++
>   tools/perf/util/header.c                        |    2 +-
>   tools/perf/util/session.h                       |    9 ++
>   10 files changed, 288 insertions(+), 3 deletions(-)
>   create mode 100644 tools/perf/scripts/python/bin/sched-stat-record
>   create mode 100644 tools/perf/scripts/python/bin/sched-stat-report
>
> _______________________________________________
> Devel mailing list
> Devel at openvz.org
> https://openvz.org/mailman/listinfo/devel




More information about the Devel mailing list