OSDN Git Service

drm/i915/pmu: Wait longer for busyness data to be available from GuC
authorUmesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Wed, 8 Dec 2021 18:33:13 +0000 (10:33 -0800)
committerJohn Harrison <John.C.Harrison@Intel.com>
Thu, 9 Dec 2021 17:56:14 +0000 (09:56 -0800)
live_engine_busy_stats waits for busyness to start ticking before
sampling busyness for the test sample duration. The wait accesses an
MMIO register and the uncore call to read it takes up to 3 ms in the
worst case. This can result in the wait timing out since the MMIO read
itself consumes up the timeout of 500us. Increase the timeout to a
larger value of 10ms to account for the MMIO read time.

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/4536
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: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211208183313.13126-1-umesh.nerlige.ramappa@intel.com
drivers/gpu/drm/i915/gt/selftest_engine_pm.c

index 75f6efc..8af2618 100644 (file)
@@ -229,7 +229,7 @@ static int __spin_until_busier(struct intel_engine_cs *engine, ktime_t busyness)
        start = ktime_get();
        while (intel_engine_get_busy_time(engine, &unused) == busyness) {
                dt = ktime_get() - start;
-               if (dt > 500000) {
+               if (dt > 10000000) {
                        pr_err("active wait timed out %lld\n", dt);
                        ENGINE_TRACE(engine, "active wait time out %lld\n", dt);
                        return -ETIME;