[Intel-gfx] [PATCH] drm/i915/selftests: Disable shrinker across mmap-exhaustion
Mika Kuoppala
mika.kuoppala at linux.intel.com
Thu Oct 11 13:56:42 UTC 2018
Chris Wilson <chris at chris-wilson.co.uk> writes:
> For mmap-exhaustion, we deliberately put the system under a large amount
> of pressure to ensure that we are able to reap mmap-offsets from dead
> objects. If background activity does that reaping for us, that defeats
> the purpose of the test and in some cases will fail our sanity checks
> (because of the fake activity we use to prevent the idle worker).
>
mark_obj_busy will both pin and mark the object as active. And we
have disabled the retire worker. So how can an active object
end up being purged?
-Mika
> Fixes: 932cac10c8fb ("drm/i915/selftests: Prevent background reaping of acti
> ve objects")
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> Cc: Matthew Auld <matthew.auld at intel.com>
> ---
> drivers/gpu/drm/i915/selftests/i915_gem_object.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_object.c b/drivers/gpu/drm/i915/selftests/i915_gem_object.c
> index 6d3516d5bff9..c3999dd2021e 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_gem_object.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_gem_object.c
> @@ -501,6 +501,8 @@ static bool assert_mmap_offset(struct drm_i915_private *i915,
>
> static void disable_retire_worker(struct drm_i915_private *i915)
> {
> + i915_gem_shrinker_unregister(i915);
> +
> mutex_lock(&i915->drm.struct_mutex);
> if (!i915->gt.active_requests++) {
> intel_runtime_pm_get(i915);
> @@ -613,6 +615,7 @@ static int igt_mmap_offset_exhaustion(void *arg)
> else
> queue_delayed_work(i915->wq, &i915->gt.idle_work, 0);
> mutex_unlock(&i915->drm.struct_mutex);
> + i915_gem_shrinker_register(i915);
> return err;
> err_obj:
> i915_gem_object_put(obj);
> --
> 2.19.1
More information about the Intel-gfx
mailing list