]>
Commit | Line | Data |
---|---|---|
bbd9d056 YZ |
1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | /* | |
3 | * GPU memory trace points | |
4 | * | |
5 | * Copyright (C) 2020 Google, Inc. | |
6 | */ | |
7 | ||
8 | #undef TRACE_SYSTEM | |
9 | #define TRACE_SYSTEM gpu_mem | |
10 | ||
11 | #if !defined(_TRACE_GPU_MEM_H) || defined(TRACE_HEADER_MULTI_READ) | |
12 | #define _TRACE_GPU_MEM_H | |
13 | ||
14 | #include <linux/tracepoint.h> | |
15 | ||
16 | /* | |
17 | * The gpu_memory_total event indicates that there's an update to either the | |
18 | * global or process total gpu memory counters. | |
19 | * | |
20 | * This event should be emitted whenever the kernel device driver allocates, | |
21 | * frees, imports, unimports memory in the GPU addressable space. | |
22 | * | |
23 | * @gpu_id: This is the gpu id. | |
24 | * | |
25 | * @pid: Put 0 for global total, while positive pid for process total. | |
26 | * | |
386c82a7 | 27 | * @size: Size of the allocation in bytes. |
bbd9d056 YZ |
28 | * |
29 | */ | |
30 | TRACE_EVENT(gpu_mem_total, | |
31 | ||
32 | TP_PROTO(uint32_t gpu_id, uint32_t pid, uint64_t size), | |
33 | ||
34 | TP_ARGS(gpu_id, pid, size), | |
35 | ||
36 | TP_STRUCT__entry( | |
37 | __field(uint32_t, gpu_id) | |
38 | __field(uint32_t, pid) | |
39 | __field(uint64_t, size) | |
40 | ), | |
41 | ||
42 | TP_fast_assign( | |
43 | __entry->gpu_id = gpu_id; | |
44 | __entry->pid = pid; | |
45 | __entry->size = size; | |
46 | ), | |
47 | ||
48 | TP_printk("gpu_id=%u pid=%u size=%llu", | |
49 | __entry->gpu_id, | |
50 | __entry->pid, | |
51 | __entry->size) | |
52 | ); | |
53 | ||
54 | #endif /* _TRACE_GPU_MEM_H */ | |
55 | ||
56 | /* This part must be outside protection */ | |
57 | #include <trace/define_trace.h> |