Re: [PATCH] Add gpu memory tracepoints

From: Yiwei Zhang
Date: Mon Feb 10 2020 - 22:05:56 EST


Thanks for the prompt reply!

The tracepoint proposed here is for tracking global gpu memory usage
total counter and per-process gpu memory usage total counter. The
tracepoint is for gfx drivers who have implemented gpu memory tracking
system. The tracepoint expects the de-duplication of the shared memory
is done inside the tracking system.

On Android, the graphics driver has implemented gpu memory tracking.
First, we'd like to profiler GPU memory with this tracepoint. Second,
we implement eBPF programs and attach to this tracepoint for tracking
GPU memory at runtime on production devices. However, the tracepoint +
eBPF approach requires the tracepoint to be upstreamed so that it's
considered a stable interface which Android common kernel can carry it
forever.

Best,
Yiwei



On Mon, Feb 10, 2020 at 6:19 PM Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> On Mon, 10 Feb 2020 17:16:31 -0800
> zzyiwei@xxxxxxxxxx wrote:
>
> > From: Yiwei Zhang <zzyiwei@xxxxxxxxxx>
> >
> > This change adds the below gpu memory tracepoint:
> > gpu_mem/gpu_mem_total: track global or process gpu memory total counters
> >
> > Signed-off-by: Yiwei Zhang <zzyiwei@xxxxxxxxxx>
> > ---
> > include/trace/events/gpu_mem.h | 64 ++++++++++++++++++++++++++++++++++
> > kernel/trace/Kconfig | 3 ++
> > kernel/trace/Makefile | 1 +
> > kernel/trace/trace_gpu_mem.c | 13 +++++++
> > 4 files changed, 81 insertions(+)
> > create mode 100644 include/trace/events/gpu_mem.h
> > create mode 100644 kernel/trace/trace_gpu_mem.c
>
> What exactly is this, and why is it being put in the tracing
> infrastructure code?
>
> -- Steve