Re: [PATCH RFC 0/3] perf: add logic to collect off-cpu samples

From: Ian Rogers
Date: Thu Jul 11 2024 - 17:58:56 EST


On Thu, Jul 11, 2024 at 5:16 AM Ajay Kaher <ajay.kaher@xxxxxxxxxxxx> wrote:
>
> Add --off-cpu-kernel option to capture off-cpu sample alongwith on-cpu
> samples.
>
> off-cpu samples represent time spent by task when it was on wait queue
> (schedule out to waiting for events, blocked on I/O, locks, timers,
> paging/swapping, etc)
>
> Refer following links for more details:
> https://lpc.events/event/17/contributions/1556/
> https://www.youtube.com/watch?v=sF2faKGRnjs

Hi Ajay,

I wonder if Howard's improvements (not landed) for `perf record
--off-cpu` would solve this problem for you?
https://lore.kernel.org/lkml/20240424024805.144759-1-howardchu95@xxxxxxxxx/
Or is that approach problematic due to the use of BPF?

Thanks,
Ian

> Ajay Kaher (3):
> perf/core: add logic to collect off-cpu sample
> perf/record: add options --off-cpu-kernel
> perf/report: add off-cpu samples
>
> include/linux/perf_event.h | 16 ++++++++++++++
> include/uapi/linux/perf_event.h | 3 ++-
> kernel/events/core.c | 27 ++++++++++++++++++-----
> tools/include/uapi/linux/perf_event.h | 3 ++-
> tools/perf/builtin-record.c | 2 ++
> tools/perf/util/events_stats.h | 2 ++
> tools/perf/util/evsel.c | 4 ++++
> tools/perf/util/hist.c | 31 ++++++++++++++++++++++++---
> tools/perf/util/hist.h | 1 +
> tools/perf/util/record.h | 1 +
> tools/perf/util/sample.h | 1 +
> 11 files changed, 81 insertions(+), 10 deletions(-)
>
> --
> 2.39.0
>