Quoting Mika Kuoppala (2020-06-16 10:03:19) > Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > > > A couple of very simple tests to ensure that the basic properties of > > per-engine busyness accounting [0% and 100% busy] are faithful. > > > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > > --- > > drivers/gpu/drm/i915/gt/selftest_engine_pm.c | 94 ++++++++++++++++++++ > > drivers/gpu/drm/i915/gt/selftest_rps.c | 5 ++ > > 2 files changed, 99 insertions(+) > > > > diff --git a/drivers/gpu/drm/i915/gt/selftest_engine_pm.c b/drivers/gpu/drm/i915/gt/selftest_engine_pm.c > > index cbf6b0735272..fb0fd8a7db9a 100644 > > --- a/drivers/gpu/drm/i915/gt/selftest_engine_pm.c > > +++ b/drivers/gpu/drm/i915/gt/selftest_engine_pm.c > > @@ -7,6 +7,99 @@ > > #include "i915_selftest.h" > > #include "selftest_engine.h" > > #include "selftests/igt_atomic.h" > > +#include "selftests/igt_flush_test.h" > > +#include "selftests/igt_spinner.h" > > + > > +static int live_engine_busy_stats(void *arg) > > +{ > > + struct intel_gt *gt = arg; > > + struct intel_engine_cs *engine; > > + enum intel_engine_id id; > > + struct igt_spinner spin; > > + int err = 0; > > + > > + /* > > + * Check that if an engine supports busy-stats, they tell the truth. > > + */ > > + > > + if (igt_spinner_init(&spin, gt)) > > + return -ENOMEM; > > + > > + GEM_BUG_ON(intel_gt_pm_is_awake(gt)); > > + for_each_engine(engine, gt, id) { > > + struct i915_request *rq; > > + ktime_t de; > > + u64 dt; > > + > > + if (!intel_engine_supports_stats(engine)) > > + continue; > > + > > + if (!intel_engine_can_store_dword(engine)) > > + continue; > > + > > + if (intel_gt_pm_wait_for_idle(gt)) { > > + err = -EBUSY; > > + break; > > + } > > + > > + preempt_disable(); > > + dt = ktime_to_ns(ktime_get()); > > + de = intel_engine_get_busy_time(engine); > > + udelay(100); > > + de = ktime_sub(intel_engine_get_busy_time(engine), de); > > + dt = ktime_to_ns(ktime_get()) - dt; > > + preempt_enable(); > > + if (de > 10) { > > 10 is from stetson? > > Well I would say it is strict enough. > > The signed de just makes me nervous, so de < 0 too? de < 0 would be nasty, monotonic going backwards, so yeah. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx