Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxx> > Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> > Cc: Matthew Auld <matthew.auld@xxxxxxxxx> > --- > 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 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx