Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp4351799ybv; Mon, 10 Feb 2020 17:39:57 -0800 (PST) X-Google-Smtp-Source: APXvYqzPk8a+tBAOe62U+7h1nTw356inyBG+3i/zLd/cfpci8LfvvqV340SzY4XsCJGOdI9ex3oo X-Received: by 2002:a05:6830:22cd:: with SMTP id q13mr3458808otc.224.1581385197562; Mon, 10 Feb 2020 17:39:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581385197; cv=none; d=google.com; s=arc-20160816; b=h1o2UDGfir4b/u4UG/qAn9DbEEHxcuvx7TVdBL0jwxjxrqFCKoAhBwjHyBBqoGWe73 5EXFwN0t029raqQfzBKQtoGVVhVA2lX9iDHUingj+a2Xlx3aJV0DXdheSivyhBV0GEuZ eaKYMib1yc8OBzH/jxB/RpGuHqyTcxWs+RYth8/3S28buH0eSSdWwVdcBgMxmtyVdeyG FqVHIw8DDvT6LiTaAMsc+adkh9YINOs6wIRXae2UpQBb/QyJH4gOF80FQIIALJ9EjjR+ yiYzXRU/QWOjJqZawmmHXaOjNzKdvlwBYhJ5GSS0gnpGrBZZjxoh+xbvEGDizp1/gwj2 Rytw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=V7k4dXV8FoGM6V4cI0YWcq4eSmPiy0AYAzs4mdKTUt8=; b=lpfprzD5sGgejZyWpS8GW+ClP8R3ff7QIQYBJ5jSZ/j7pb8yGPWVZtFuYPSiUol7+D /zhRxLvUahBpfs61YaPfF6+/UawtCQs6SrqEiCfxJ7+3RZsS0nSfQveyGZP3+3Rx7oEh RXm0GDZI0TOJDISPqDqExLe1gSBivUZ/pgVicm4Wgqd3LpKvaRmqFLzqqp5+uqgU1/cj XjSXz6rWrjZv/kXQ12YbPsud2xraGusO+m5IeBXp4nep//6dwlepep9/gNS2oZmllrDa 5U6z1QRqnRAmuSDHszsq4vAc/FpqIo2/TOswefB3CoSIIYDgIiA+U183+7cS8l4g6GoV AB9w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=gWHS6CxG; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k2si1006545oij.97.2020.02.10.17.39.40; Mon, 10 Feb 2020 17:39:57 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=gWHS6CxG; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727594AbgBKBW4 (ORCPT + 99 others); Mon, 10 Feb 2020 20:22:56 -0500 Received: from mail-lf1-f66.google.com ([209.85.167.66]:35344 "EHLO mail-lf1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727398AbgBKBWz (ORCPT ); Mon, 10 Feb 2020 20:22:55 -0500 Received: by mail-lf1-f66.google.com with SMTP id z18so5755572lfe.2 for ; Mon, 10 Feb 2020 17:22:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=V7k4dXV8FoGM6V4cI0YWcq4eSmPiy0AYAzs4mdKTUt8=; b=gWHS6CxGgaf/q86I/rnbaBQNitqG4dPGGM5rzHsJ4hL+10XnGNsF0CPcNTeeuh2X8v wr+mqFY5rA5xin8b31WKS1Cjw5/NuNbY0puioN9yWLcFq1hrH0/3CCxZxRVM5umCp2I2 pgx2jrmIZtt/a9RrSQSKNdkUuTRGZwt3pgZGEOtzEjdXBwwNNqdwuUy4DQ8WLu++0l29 cE0asRyOe5/IuWhKkcy7yGs6GWTuA05rla5iP5TQLZnKmS4HCr+ym/+6na45H0LSX0/3 H4ue9NE98p6h2OEdmcgmxRKrIpz5C4XeddNASwvYJ1Og0fHnoRLvWpqLzCntqG/gkjzq REXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=V7k4dXV8FoGM6V4cI0YWcq4eSmPiy0AYAzs4mdKTUt8=; b=BFEXOu1bmMH93VKfgtizfqfaU3CsxUBTK1yklYi7OQ2+v+SFj0HLkhalyIjO/TqKQl WFNyU8qNUfUnMJqf7F3H+4htF4YgPcAh5Gtiu4RqRz9ifA2z1mT78Rd8GdfhE5BRM5eV w9+N4LLrrFunpHATmAjMeJo9epDBSgl9n90uBmq/RpdE5SVZn5bWuAa6Nocq5dLCFyp0 itjh3V3mQJm15QIYHTJh9ZclSoCRgXHoOh7QTrO/fgtNGxzJ9uDABTUtzzkV1T1b5jxx QnOiJNL6w2wfbbSFkqKe69mLseZomZ3FOVPYmfWTC5q6gpX8ou0G7vKNekjNUrDhGqq/ cVHQ== X-Gm-Message-State: APjAAAVs8hXwyADJT0PsRoRmpHcNkAinjj3r7tTQN/yJDmv6ervb9jfS jh2uR0KH6n8H3OOzaBmtuswxqUpWDAU7OreaI0CR X-Received: by 2002:ac2:47ec:: with SMTP id b12mr2152855lfp.162.1581384172899; Mon, 10 Feb 2020 17:22:52 -0800 (PST) MIME-Version: 1.0 References: <20200211011631.7619-1-zzyiwei@google.com> In-Reply-To: From: Yiwei Zhang Date: Mon, 10 Feb 2020 17:22:41 -0800 Message-ID: Subject: Re: [PATCH] Add gpu memory tracepoints To: rostedt@goodmis.org, mingo@redhat.com, linux-kernel@vger.kernel.org Cc: Prahlad Kilambi , android-kernel Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Feb 10, 2020 at 5:17 PM Yiwei Zhang wrote: > > On Mon, Feb 10, 2020 at 5:16 PM wrote: > > > > From: Yiwei Zhang > > > > 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 > > --- > > 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 > > > > diff --git a/include/trace/events/gpu_mem.h b/include/trace/events/gpu_mem.h > > new file mode 100644 > > index 000000000000..3b632a2b5100 > > --- /dev/null > > +++ b/include/trace/events/gpu_mem.h > > @@ -0,0 +1,64 @@ > > +/* 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 > > + > > +/* > > + * 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 > > diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig > > index 91e885194dbc..cb404755b0a6 100644 > > --- a/kernel/trace/Kconfig > > +++ b/kernel/trace/Kconfig > > @@ -85,6 +85,9 @@ config EVENT_TRACING > > config CONTEXT_SWITCH_TRACER > > bool > > > > +config TRACE_GPU_MEM > > + bool > > + > > config RING_BUFFER_ALLOW_SWAP > > bool > > help > > diff --git a/kernel/trace/Makefile b/kernel/trace/Makefile > > index f9dcd19165fa..267985313dca 100644 > > --- a/kernel/trace/Makefile > > +++ b/kernel/trace/Makefile > > @@ -47,6 +47,7 @@ obj-$(CONFIG_PREEMPTIRQ_DELAY_TEST) += preemptirq_delay_test.o > > obj-$(CONFIG_SYNTH_EVENT_GEN_TEST) += synth_event_gen_test.o > > obj-$(CONFIG_KPROBE_EVENT_GEN_TEST) += kprobe_event_gen_test.o > > obj-$(CONFIG_CONTEXT_SWITCH_TRACER) += trace_sched_switch.o > > +obj-$(CONFIG_TRACE_GPU_MEM) += trace_gpu_mem.o > > obj-$(CONFIG_FUNCTION_TRACER) += trace_functions.o > > obj-$(CONFIG_PREEMPTIRQ_TRACEPOINTS) += trace_preemptirq.o > > obj-$(CONFIG_IRQSOFF_TRACER) += trace_irqsoff.o > > diff --git a/kernel/trace/trace_gpu_mem.c b/kernel/trace/trace_gpu_mem.c > > new file mode 100644 > > index 000000000000..01e855897b6d > > --- /dev/null > > +++ b/kernel/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 > > + > > +#define CREATE_TRACE_POINTS > > +#include > > + > > +EXPORT_TRACEPOINT_SYMBOL(gpu_mem_total); > > -- > > 2.25.0.341.g760bfbb309-goog > >