[Intel-gfx] [PATCH igt] igt/pm_rps: Increase load for waitboosting

Chris Wilson chris at chris-wilson.co.uk
Thu Jan 18 11:28:53 UTC 2018


Quoting Chris Wilson (2018-01-13 19:20:21)
> The waitboost subtests encode internal knowledge of the kernel, and
> should we wish to change how the kernel functions, we also need to
> update the test (or reconfigure it somehow to express desired latencies
> for certain workloads). One such change proposed is to remove the
> waitboost if the target request is also completed, so update the test to
> not wait on the current batch.
> 
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

Joonas, this marries the test to the new implementation (and is
backwards compatible). Please kindly review,
-Chris

> ---
>  tests/pm_rps.c | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 
> diff --git a/tests/pm_rps.c b/tests/pm_rps.c
> index a48ca368d..8dd73917b 100644
> --- a/tests/pm_rps.c
> +++ b/tests/pm_rps.c
> @@ -487,12 +487,27 @@ static void stabilize_check(int *out)
>         igt_debug("Waited %d msec to stabilize cur\n", wait);
>  }
>  
> +static void resubmit_batch(int fd, uint32_t handle, int count)
> +{
> +       struct drm_i915_gem_exec_object2 obj = {
> +               .handle = handle
> +       };
> +       struct drm_i915_gem_execbuffer2 eb = {
> +               .buffer_count = 1,
> +               .buffers_ptr = to_user_pointer(&obj),
> +       };
> +       while (count--)
> +               gem_execbuf(fd, &eb);
> +}
> +
>  static void boost_freq(int fd, int *boost_freqs)
>  {
>         int64_t timeout = 1;
>         igt_spin_t *load;
>  
>         load = igt_spin_batch_new(fd, 0, 0, 0);
> +       resubmit_batch(fd, load->handle, 16);
> +
>         /* Waiting will grant us a boost to maximum */
>         gem_wait(fd, load->handle, &timeout);
>  
> -- 
> 2.15.1
> 


More information about the Intel-gfx mailing list