lkml.org 
[lkml]   [2020]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v3] gpu/trace: add gpu memory tracepoints
    Hi folks,

    This [PATCH v3] just re-format the tracepoint definition and update
    the subject line. Please take another look. Many thanks!

    Best,
    Yiwei

    On Thu, Feb 13, 2020 at 6:03 AM Steven Rostedt <rostedt@goodmis.org> wrote:
    >
    >
    > Hi Yiwei,
    >
    > You left off a lot of people that you Cc'd for the previous versions.
    > You'll need at least Greg's acked-by on this, and perhaps even others
    > that own the gpu directory.
    >
    > -- Steve
    >
    >
    > On Wed, 12 Feb 2020 20:23:31 -0800
    > zzyiwei@google.com wrote:
    >
    > > From: Yiwei Zhang <zzyiwei@google.com>
    > >
    > > 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@google.com>
    > > ---
    > > drivers/Kconfig | 2 ++
    > > drivers/gpu/Makefile | 1 +
    > > drivers/gpu/trace/Kconfig | 4 +++
    > > drivers/gpu/trace/Makefile | 3 ++
    > > drivers/gpu/trace/trace_gpu_mem.c | 13 +++++++
    > > include/trace/events/gpu_mem.h | 57 +++++++++++++++++++++++++++++++
    > > 6 files changed, 80 insertions(+)
    > > create mode 100644 drivers/gpu/trace/Kconfig
    > > create mode 100644 drivers/gpu/trace/Makefile
    > > create mode 100644 drivers/gpu/trace/trace_gpu_mem.c
    > > create mode 100644 include/trace/events/gpu_mem.h
    > >
    > > diff --git a/drivers/Kconfig b/drivers/Kconfig
    > > index 8befa53f43be..e0eda1a5c3f9 100644
    > > --- a/drivers/Kconfig
    > > +++ b/drivers/Kconfig
    > > @@ -200,6 +200,8 @@ source "drivers/thunderbolt/Kconfig"
    > >
    > > source "drivers/android/Kconfig"
    > >
    > > +source "drivers/gpu/trace/Kconfig"
    > > +
    > > source "drivers/nvdimm/Kconfig"
    > >
    > > source "drivers/dax/Kconfig"
    > > diff --git a/drivers/gpu/Makefile b/drivers/gpu/Makefile
    > > index f17d01f076c7..835c88318cec 100644
    > > --- a/drivers/gpu/Makefile
    > > +++ b/drivers/gpu/Makefile
    > > @@ -5,3 +5,4 @@
    > > obj-$(CONFIG_TEGRA_HOST1X) += host1x/
    > > obj-y += drm/ vga/
    > > obj-$(CONFIG_IMX_IPUV3_CORE) += ipu-v3/
    > > +obj-$(CONFIG_TRACE_GPU_MEM) += trace/
    > > diff --git a/drivers/gpu/trace/Kconfig b/drivers/gpu/trace/Kconfig
    > > new file mode 100644
    > > index 000000000000..c24e9edd022e
    > > --- /dev/null
    > > +++ b/drivers/gpu/trace/Kconfig
    > > @@ -0,0 +1,4 @@
    > > +# SPDX-License-Identifier: GPL-2.0-only
    > > +
    > > +config TRACE_GPU_MEM
    > > + bool
    > > diff --git a/drivers/gpu/trace/Makefile b/drivers/gpu/trace/Makefile
    > > new file mode 100644
    > > index 000000000000..b70fbdc5847f
    > > --- /dev/null
    > > +++ b/drivers/gpu/trace/Makefile
    > > @@ -0,0 +1,3 @@
    > > +# SPDX-License-Identifier: GPL-2.0
    > > +
    > > +obj-$(CONFIG_TRACE_GPU_MEM) += trace_gpu_mem.o
    > > diff --git a/drivers/gpu/trace/trace_gpu_mem.c b/drivers/gpu/trace/trace_gpu_mem.c
    > > new file mode 100644
    > > index 000000000000..01e855897b6d
    > > --- /dev/null
    > > +++ b/drivers/gpu/trace/trace_gpu_mem.c
    > > @@ -0,0 +1,13 @@
    > > +// SPDX-License-Identifier: GPL-2.0
    > > +/*
    > > + * GPU memory trace points
    > > + *
    > > + * Copyright (C) 2020 Google, Inc.
    > > + */
    > > +
    > > +#include <linux/module.h>
    > > +
    > > +#define CREATE_TRACE_POINTS
    > > +#include <trace/events/gpu_mem.h>
    > > +
    > > +EXPORT_TRACEPOINT_SYMBOL(gpu_mem_total);
    > > diff --git a/include/trace/events/gpu_mem.h b/include/trace/events/gpu_mem.h
    > > new file mode 100644
    > > index 000000000000..1897822a9150
    > > --- /dev/null
    > > +++ b/include/trace/events/gpu_mem.h
    > > @@ -0,0 +1,57 @@
    > > +/* SPDX-License-Identifier: GPL-2.0 */
    > > +/*
    > > + * GPU memory trace points
    > > + *
    > > + * Copyright (C) 2020 Google, Inc.
    > > + */
    > > +
    > > +#undef TRACE_SYSTEM
    > > +#define TRACE_SYSTEM gpu_mem
    > > +
    > > +#if !defined(_TRACE_GPU_MEM_H) || defined(TRACE_HEADER_MULTI_READ)
    > > +#define _TRACE_GPU_MEM_H
    > > +
    > > +#include <linux/tracepoint.h>
    > > +
    > > +/*
    > > + * The gpu_memory_total event indicates that there's an update to either the
    > > + * global or process total gpu memory counters.
    > > + *
    > > + * This event should be emitted whenever the kernel device driver allocates,
    > > + * frees, imports, unimports memory in the GPU addressable space.
    > > + *
    > > + * @gpu_id: This is the gpu id.
    > > + *
    > > + * @pid: Put 0 for global total, while positive pid for process total.
    > > + *
    > > + * @size: Virtual size of the allocation in bytes.
    > > + *
    > > + */
    > > +TRACE_EVENT(gpu_mem_total,
    > > +
    > > + TP_PROTO(uint32_t gpu_id, uint32_t pid, uint64_t size),
    > > +
    > > + TP_ARGS(gpu_id, pid, size),
    > > +
    > > + TP_STRUCT__entry(
    > > + __field(uint32_t, gpu_id)
    > > + __field(uint32_t, pid)
    > > + __field(uint64_t, size)
    > > + ),
    > > +
    > > + TP_fast_assign(
    > > + __entry->gpu_id = gpu_id;
    > > + __entry->pid = pid;
    > > + __entry->size = size;
    > > + ),
    > > +
    > > + TP_printk("gpu_id=%u pid=%u size=%llu",
    > > + __entry->gpu_id,
    > > + __entry->pid,
    > > + __entry->size)
    > > +);
    > > +
    > > +#endif /* _TRACE_GPU_MEM_H */
    > > +
    > > +/* This part must be outside protection */
    > > +#include <trace/define_trace.h>
    >

    \
     
     \ /
      Last update: 2020-02-13 18:50    [W:2.137 / U:0.348 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site