From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> It was quite some time since I last posted this RFC, but recently there has been some new interest, this time from OpenCL and related customers, so I decided to give it a quick respin and test the waters. This time round it has been really hastily rebased since the upstream changed quite a lot and I have very little confidence it is technically correct. But it is enough to illustrate a point of what this feature could provide: In short it enables a "top-like" display for GPU tasks. Or with a screenshot: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ intel-gpu-top - 948/ 999 MHz; 0% RC6; 3.65 Watts; 2165 irqs/s IMC reads: 5015 MiB/s IMC writes: 143 MiB/s ENGINE BUSY MI_SEMA MI_WAIT Render/3D/0 56.60% |███████████████████████████▋ | 0% 0% Blitter/0 95.65% |██████████████████████████████████████████████▊ | 0% 0% Video/0 40.92% |████████████████████ | 0% 0% VideoEnhance/0 0.00% | | 0% 0% PID NAME RCS BCS VCS VECS 5347 gem_wsim |███████▍ ||███████████████▏||██████▌ || | 4929 Xorg |▎ || || || | 5305 glxgears | || || || | 5303 glxgears | || || || | 5024 xfwm4 | || || || | 4929 Xorg | || || || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Implementation wise we would get a a bunch of per-drm-client-per-engine-class files in sysfs like: # cd /sys/class/drm/card0/clients/ # tree . ├── 7 │ ├── busy │ │ ├── 0 │ │ ├── 1 │ │ ├── 2 │ │ └── 3 │ ├── name │ └── pid ├── 8 │ ├── busy │ │ ├── 0 │ │ ├── 1 │ │ ├── 2 │ │ └── 3 │ ├── name │ └── pid ├── 9 │ ├── busy │ │ ├── 0 │ │ ├── 1 │ │ ├── 2 │ │ └── 3 │ ├── name │ └── pid └── enable_stats I will post the corresponding patch to intel_gpu_top for reference as well. Tvrtko Ursulin (5): drm/i915: Track per-context engine busyness drm/i915: Expose list of clients in sysfs drm/i915: Update client name on context create drm/i915: Expose per-engine client busyness drm/i915: Add sysfs toggle to enable per-client engine stats drivers/gpu/drm/i915/gem/i915_gem_context.c | 17 +- drivers/gpu/drm/i915/gt/intel_context.c | 20 ++ drivers/gpu/drm/i915/gt/intel_context.h | 9 + drivers/gpu/drm/i915/gt/intel_context_types.h | 9 + drivers/gpu/drm/i915/gt/intel_engine_cs.c | 16 +- drivers/gpu/drm/i915/gt/intel_lrc.c | 66 +++++- drivers/gpu/drm/i915/i915_drv.h | 38 +++ drivers/gpu/drm/i915/i915_gem.c | 218 +++++++++++++++++- drivers/gpu/drm/i915/i915_sysfs.c | 81 +++++++ 9 files changed, 451 insertions(+), 23 deletions(-) -- 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx