Quoting Matthew Auld (2017-10-10 14:30:30) > There's really no good reason to be using the kernel context for the > huge-page livetests. Also with the introduction of commit bef27bdb6cfb > ("drm/i915: Assert we do not try to expand VMA for hugepage inside GGTT") > we start hitting the bug on in the selftests, since the kernel context > will always return true for i915_vma_is_ggtt(), so now seems like the > opportune time to instead create our own context. > Also Fixes: 4049866f0913 ("drm/i915/selftests: huge page tests") > Fixes: bef27bdb6cfb ("drm/i915: Assert we do not try to expand VMA for hugepage inside GGTT") I think it's worth saying that the explosion is a result of the two :) > Signed-off-by: Matthew Auld <matthew.auld@xxxxxxxxx> > Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> > Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/selftests/huge_pages.c | 57 +++++++++++++++++++---------- > 1 file changed, 38 insertions(+), 19 deletions(-) > > diff --git a/drivers/gpu/drm/i915/selftests/huge_pages.c b/drivers/gpu/drm/i915/selftests/huge_pages.c > index b8b9d0822199..c53f8474113a 100644 > --- a/drivers/gpu/drm/i915/selftests/huge_pages.c > +++ b/drivers/gpu/drm/i915/selftests/huge_pages.c > @@ -1047,10 +1047,10 @@ static int cpu_check(struct drm_i915_gem_object *obj, u32 dword, u32 val) > return err; > } > > -static int igt_write_huge(struct drm_i915_gem_object *obj) > +static int igt_write_huge(struct i915_gem_context *ctx, > + struct drm_i915_gem_object *obj) These all seem to follow through nicely. > @@ -1707,9 +1711,24 @@ int i915_gem_huge_page_live_selftests(struct drm_i915_private *dev_priv) > return 0; > } > > + file = mock_file(dev_priv); > + if (IS_ERR(file)) > + return PTR_ERR(file); > + > mutex_lock(&dev_priv->drm.struct_mutex); > - err = i915_subtests(tests, dev_priv); > + > + ctx = live_context(dev_priv, file); > + if (IS_ERR(ctx)) { > + err = PTR_ERR(ctx); > + goto out_unlock; > + } > + > + err = i915_subtests(tests, ctx); > + > +out_unlock: > mutex_unlock(&dev_priv->drm.struct_mutex); > > + mock_file_free(dev_priv, file); > + > return err; Oh, we could do s/dev_priv/i915/ here now. Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx