Re: [PATCHSET 0/5] perf lock contention: Add cgroup support (v1)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 30, 2023 at 4:01 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
>
> Hello,
>
> The cgroup support comes with two flavors.  One is to aggregate the
> result by cgroups and the other is to filter result for the given
> cgroups.  For now, it only works in BPF mode.
>
> The first one is -g/--lock-cgroup option to show lock stats by cgroups
> like below.  The cgroup names were shortened for brevity:
>
>   $ sudo perf lock con -abg perf bench sched messaging
>    contended   total wait     max wait     avg wait   cgroup
>
>         1052      3.34 ms     84.71 us      3.17 us   /app-org.gnome.Terminal.slice/vte-spawn-52221fb8-b33f-4a52-b5c3-e35d1e6fc0e0.scope
>           13    106.60 us     11.48 us      8.20 us   /session.slice/org.gnome.Shell@x11.service
>           12     21.20 us      4.93 us      1.77 us   /
>            3     12.10 us      8.80 us      4.03 us   /session-4.scope
>            2     10.98 us      7.50 us      5.49 us   /app-gnome-firefox\x2desr-34054.scope
>            2      6.04 us      4.88 us      3.02 us   /app-gnome-google\x2dchrome-6442.scope
>            1      5.63 us      5.63 us      5.63 us   /app-org.gnome.Terminal.slice/gnome-terminal-server.service
>            1      3.51 us      3.51 us      3.51 us   /pipewire.service
>            1      2.15 us      2.15 us      2.15 us   /pipewire-pulse.service
>            1       742 ns       742 ns       742 ns   /dbus.service
>
> The other is -G/--cgroup-filter option to show lock stats only from the
> given cgroups.  It doesn't support cgroup hierarchy and regex matching.
>
>   $ sudo perf lock con -abt -G / perf bench sched messaging
>    contended   total wait     max wait     avg wait          pid   comm
>
>            2     10.58 us      8.39 us      5.29 us       257552   kworker/4:1
>            2      9.76 us      7.96 us      4.88 us            0   swapper
>            4      5.36 us      2.09 us      1.34 us       255462   kworker/0:2
>            3      3.33 us      1.48 us      1.11 us       257680   kworker/3:1
>            2      2.59 us      1.46 us      1.29 us       257478   kworker/2:2
>            1      1.50 us      1.50 us      1.50 us           15   rcu_preempt
>
> You can also use these two options together. :)
>
> The two more test cases were added to the existing lock contention test.
>
> The code is available at 'perf/lock-cgroup-v1' branch in the tree below.
>
>   git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git
>
>
> Thanks,
> Namhyung
>
>
> Namhyung Kim (5):
>   perf tools: Add read_all_cgroups() and __cgroup_find()
>   perf lock contention: Prepare to handle cgroups
>   perf lock contention: Add -g/--lock-cgroup option
>   perf lock contention: Add -G/--cgroup-filter option
>   perf test: Improve perf lock contention test

Series:
Reviewed-by: Ian Rogers <irogers@xxxxxxxxxx>

Thanks,
Ian

>  tools/perf/Documentation/perf-lock.txt        |  8 ++
>  tools/perf/builtin-lock.c                     | 99 ++++++++++++++++++-
>  tools/perf/tests/shell/lock_contention.sh     | 45 +++++++++
>  tools/perf/util/bpf_lock_contention.c         | 51 +++++++++-
>  .../perf/util/bpf_skel/lock_contention.bpf.c  | 48 ++++++++-
>  tools/perf/util/bpf_skel/lock_data.h          |  3 +-
>  tools/perf/util/cgroup.c                      | 63 ++++++++++--
>  tools/perf/util/cgroup.h                      |  5 +
>  tools/perf/util/lock-contention.h             | 10 +-
>  9 files changed, 312 insertions(+), 20 deletions(-)
>
>
> base-commit: d2045f87154bf67a50ebefe28d2ca0e1e3f8eef1
> --
> 2.42.0.283.g2d96d420d3-goog
>





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux