| /* 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: 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> |