diff options
author | David Nieto <dmartineznie@nvidia.com> | 2017-02-21 18:36:49 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-03-07 16:42:28 -0500 |
commit | b9feba6efc48743da70e474d40b7889a7efb4ba5 (patch) | |
tree | 668fed9a239d27dfc80abe525c43f6f864c90142 /drivers/gpu/nvgpu/gk20a/channel_gk20a.h | |
parent | b9991767cca9e4166e83ab03a07bf79316cf749a (diff) |
gpu: nvgpu: in-kernel kickoff profiling
Add a debugfs interface to profile the kickoff ioctl
it provides the probability distribution and separates the information
between time spent in: the full ioctl, the kickoff function, the amount
of time spent in job tracking and the amount of time doing pushbuffer
copies
JIRA: EVLR-1003
Change-Id: I9888b114c3fbced61b1cf134c79f7a8afce15f56
Signed-off-by: David Nieto <dmartineznie@nvidia.com>
Reviewed-on: http://git-master/r/1308997
Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_gk20a.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h index d9913cd7..42550632 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h | |||
@@ -33,6 +33,7 @@ struct gk20a; | |||
33 | struct gr_gk20a; | 33 | struct gr_gk20a; |
34 | struct dbg_session_gk20a; | 34 | struct dbg_session_gk20a; |
35 | struct gk20a_fence; | 35 | struct gk20a_fence; |
36 | struct fifo_profile_gk20a; | ||
36 | 37 | ||
37 | #include "channel_sync_gk20a.h" | 38 | #include "channel_sync_gk20a.h" |
38 | 39 | ||
@@ -344,7 +345,8 @@ int gk20a_submit_channel_gpfifo(struct channel_gk20a *c, | |||
344 | u32 flags, | 345 | u32 flags, |
345 | struct nvgpu_fence *fence, | 346 | struct nvgpu_fence *fence, |
346 | struct gk20a_fence **fence_out, | 347 | struct gk20a_fence **fence_out, |
347 | bool force_need_sync_fence); | 348 | bool force_need_sync_fence, |
349 | struct fifo_profile_gk20a *profile); | ||
348 | 350 | ||
349 | int gk20a_alloc_channel_gpfifo(struct channel_gk20a *c, | 351 | int gk20a_alloc_channel_gpfifo(struct channel_gk20a *c, |
350 | struct nvgpu_alloc_gpfifo_ex_args *args); | 352 | struct nvgpu_alloc_gpfifo_ex_args *args); |