diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2015-02-05 13:05:56 -0500 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-04-04 21:05:22 -0400 |
commit | 24ddf71b9009291b829e6c30eb1b22e8838f7367 (patch) | |
tree | 0a2816a1f813c17c32c51390f1d9311f7e95cc4d /include/trace/events | |
parent | 5b6e8995b2a3d399a8cc7fd249301122053666e1 (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.h | 67 |
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 | ||
68 | DEFINE_EVENT(gk20a, gk20a_mm_l2_invalidate, | ||
69 | TP_PROTO(const char *name), | ||
70 | TP_ARGS(name) | ||
71 | ); | ||
72 | |||
73 | DEFINE_EVENT(gk20a, gk20a_mm_l2_invalidate_done, | ||
74 | TP_PROTO(const char *name), | ||
75 | TP_ARGS(name) | ||
76 | ); | ||
77 | |||
78 | DEFINE_EVENT(gk20a, gk20a_mm_l2_flush, | ||
79 | TP_PROTO(const char *name), | ||
80 | TP_ARGS(name) | ||
81 | ); | ||
82 | |||
83 | DEFINE_EVENT(gk20a, gk20a_mm_l2_flush_done, | ||
84 | TP_PROTO(const char *name), | ||
85 | TP_ARGS(name) | ||
86 | ); | ||
87 | |||
88 | DEFINE_EVENT(gk20a, gk20a_mm_tlb_invalidate, | ||
89 | TP_PROTO(const char *name), | ||
90 | TP_ARGS(name) | ||
91 | ); | ||
92 | |||
93 | DEFINE_EVENT(gk20a, gk20a_mm_tlb_invalidate_done, | ||
94 | TP_PROTO(const char *name), | ||
95 | TP_ARGS(name) | ||
96 | ); | ||
97 | |||
98 | DEFINE_EVENT(gk20a, gk20a_mm_fb_flush, | ||
99 | TP_PROTO(const char *name), | ||
100 | TP_ARGS(name) | ||
101 | ); | ||
102 | |||
103 | DEFINE_EVENT(gk20a, gk20a_mm_fb_flush_done, | ||
104 | TP_PROTO(const char *name), | ||
105 | TP_ARGS(name) | ||
106 | ); | ||
107 | |||
108 | DEFINE_EVENT(gk20a, mc_gk20a_intr_thread_stall, | ||
109 | TP_PROTO(const char *name), | ||
110 | TP_ARGS(name) | ||
111 | ); | ||
112 | |||
113 | DEFINE_EVENT(gk20a, mc_gk20a_intr_thread_stall_done, | ||
114 | TP_PROTO(const char *name), | ||
115 | TP_ARGS(name) | ||
116 | ); | ||
117 | |||
118 | DEFINE_EVENT(gk20a, mc_gk20a_intr_stall, | ||
119 | TP_PROTO(const char *name), | ||
120 | TP_ARGS(name) | ||
121 | ); | ||
122 | |||
123 | DEFINE_EVENT(gk20a, mc_gk20a_intr_stall_done, | ||
124 | TP_PROTO(const char *name), | ||
125 | TP_ARGS(name) | ||
126 | ); | ||
127 | |||
128 | DEFINE_EVENT(gk20a, gr_gk20a_handle_sw_method, | ||
129 | TP_PROTO(const char *name), | ||
130 | TP_ARGS(name) | ||
131 | ); | ||
132 | |||
68 | TRACE_EVENT(gk20a_channel_update, | 133 | TRACE_EVENT(gk20a_channel_update, |
69 | TP_PROTO(const void *channel), | 134 | TP_PROTO(const void *channel), |
70 | TP_ARGS(channel), | 135 | TP_ARGS(channel), |