Quoting Tvrtko Ursulin (2019-03-26 08:46:34) > > On 22/03/2019 09:21, Chris Wilson wrote: > > +static void measure_semaphore_power(int i915) > > +{ > > + struct gpu_power power; > > + unsigned int engine, signaler; > > + > > + igt_require(gpu_power_open(&power) == 0); > > + > > + for_each_physical_engine(i915, signaler) { > > + struct gpu_power_sample s_spin[2]; > > + struct gpu_power_sample s_sema[2]; > > + double baseline, total; > > + int64_t jiffie = 1; > > + igt_spin_t *spin; > > + > > + spin = __igt_spin_batch_new(i915, > > + .engine = signaler, > > + .flags = IGT_SPIN_POLL_RUN); > > if (!spin) > continue; > > To skip over !can_store_dword, since you are using the low level > constructor which doesn't check. True, will need store-dword checking. Too much pain from spin_batch_new() mystery locking up inside loops has caused me to shy away from using it. > > + gem_wait(i915, spin->handle, &jiffie); /* waitboost */ > > Waitboost why? Will it be deterministic either way? There's nothing in here that should trigger a waitboost, the idea was to put the GPU into as pessimistic state as possible to measure peak power consumption. We could set the freq to min/max via sysfs to see if there is a significant difference. There's always another test waiting in the corner. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx