]> git.ipfire.org Git - thirdparty/linux.git/commit
i915/guc: Ensure busyness counter increases motonically
authorUmesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Wed, 27 Nov 2024 17:40:05 +0000 (09:40 -0800)
committerUmesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Fri, 13 Dec 2024 23:13:50 +0000 (15:13 -0800)
commitcf907f6d294217985e9dafd9985dce874e04ca37
tree8e9984156b46cb8b0cc271bde354d810049bd9d8
parentabd318237fa6556c1e5225529af145ef15d5ff0d
i915/guc: Ensure busyness counter increases motonically

Active busyness of an engine is calculated using gt timestamp and the
context switch in time. While capturing the gt timestamp, it's possible
that the context switches out. This race could result in an active
busyness value that is greater than the actual context runtime value by a
small amount. This leads to a negative delta and throws off busyness
calculations for the user.

If a subsequent count is smaller than the previous one, just return the
previous one, since we expect the busyness to catch up.

Fixes: 77cdd054dd2c ("drm/i915/pmu: Connect engine busyness stats from GuC to pmu")
Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Reviewed-by: John Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241127174006.190128-3-umesh.nerlige.ramappa@intel.com
drivers/gpu/drm/i915/gt/intel_engine_types.h
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c