summaryrefslogtreecommitdiffstats
path: root/include/trace/events
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2015-02-05 13:05:56 -0500
committerDan Willemsen <dwillemsen@nvidia.com>2015-04-04 21:05:22 -0400
commit24ddf71b9009291b829e6c30eb1b22e8838f7367 (patch)
tree0a2816a1f813c17c32c51390f1d9311f7e95cc4d /include/trace/events
parent5b6e8995b2a3d399a8cc7fd249301122053666e1 (diff)
gpu: nvgpu: Use busy looping on memory ops
Use busy looping on L2 and TLB maintenance operations. This speeds them up by an order of magnitude. Add also trace points to measure performance for memory ops and interrupt processing. Change-Id: Ic4a8525d3d946b2b8f57b4b8ddcfc61605619399 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/681640
Diffstat (limited to 'include/trace/events')
-rw-r--r--include/trace/events/gk20a.h67
1 files changed, 66 insertions, 1 deletions
diff --git a/include/trace/events/gk20a.h b/include/trace/events/gk20a.h
index 32e3100a..096b0559 100644
--- a/include/trace/events/gk20a.h
+++ b/include/trace/events/gk20a.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * gk20a event logging to ftrace. 2 * gk20a event logging to ftrace.
3 * 3 *
4 * Copyright (c) 2014, NVIDIA CORPORATION. All rights reserved. 4 * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved.
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify it 6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms and conditions of the GNU General Public License, 7 * under the terms and conditions of the GNU General Public License,
@@ -65,6 +65,71 @@ DEFINE_EVENT(gk20a, gk20a_gpfifo_submit_wait_for_space_done,
65 TP_ARGS(name) 65 TP_ARGS(name)
66); 66);
67 67
68DEFINE_EVENT(gk20a, gk20a_mm_l2_invalidate,
69 TP_PROTO(const char *name),
70 TP_ARGS(name)
71);
72
73DEFINE_EVENT(gk20a, gk20a_mm_l2_invalidate_done,
74 TP_PROTO(const char *name),
75 TP_ARGS(name)
76);
77
78DEFINE_EVENT(gk20a, gk20a_mm_l2_flush,
79 TP_PROTO(const char *name),
80 TP_ARGS(name)
81);
82
83DEFINE_EVENT(gk20a, gk20a_mm_l2_flush_done,
84 TP_PROTO(const char *name),
85 TP_ARGS(name)
86);
87
88DEFINE_EVENT(gk20a, gk20a_mm_tlb_invalidate,
89 TP_PROTO(const char *name),
90 TP_ARGS(name)
91);
92
93DEFINE_EVENT(gk20a, gk20a_mm_tlb_invalidate_done,
94 TP_PROTO(const char *name),
95 TP_ARGS(name)
96);
97
98DEFINE_EVENT(gk20a, gk20a_mm_fb_flush,
99 TP_PROTO(const char *name),
100 TP_ARGS(name)
101);
102
103DEFINE_EVENT(gk20a, gk20a_mm_fb_flush_done,
104 TP_PROTO(const char *name),
105 TP_ARGS(name)
106);
107
108DEFINE_EVENT(gk20a, mc_gk20a_intr_thread_stall,
109 TP_PROTO(const char *name),
110 TP_ARGS(name)
111);
112
113DEFINE_EVENT(gk20a, mc_gk20a_intr_thread_stall_done,
114 TP_PROTO(const char *name),
115 TP_ARGS(name)
116);
117
118DEFINE_EVENT(gk20a, mc_gk20a_intr_stall,
119 TP_PROTO(const char *name),
120 TP_ARGS(name)
121);
122
123DEFINE_EVENT(gk20a, mc_gk20a_intr_stall_done,
124 TP_PROTO(const char *name),
125 TP_ARGS(name)
126);
127
128DEFINE_EVENT(gk20a, gr_gk20a_handle_sw_method,
129 TP_PROTO(const char *name),
130 TP_ARGS(name)
131);
132
68TRACE_EVENT(gk20a_channel_update, 133TRACE_EVENT(gk20a_channel_update,
69 TP_PROTO(const void *channel), 134 TP_PROTO(const void *channel),
70 TP_ARGS(channel), 135 TP_ARGS(channel),