Commit 027c38b4 authored by Chris Wilson's avatar Chris Wilson Committed by Matthew Auld

drm/i915/selftests: Grab the runtime pm in shrink_thp

Since we are not holding a wakeref, shrinking a bound object is not
guaranteed.

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6370Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarMatthew Auld <matthew.auld@intel.com>
Signed-off-by: default avatarMatthew Auld <matthew.auld@intel.com>
Reviewed-by: default avatarAndi Shyti <andi.shyti@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220706154738.235204-1-matthew.auld@intel.com
parent b94a1a20
...@@ -1623,6 +1623,7 @@ static int igt_shrink_thp(void *arg) ...@@ -1623,6 +1623,7 @@ static int igt_shrink_thp(void *arg)
struct file *file; struct file *file;
unsigned int flags = PIN_USER; unsigned int flags = PIN_USER;
unsigned int n; unsigned int n;
intel_wakeref_t wf;
bool should_swap; bool should_swap;
int err; int err;
...@@ -1659,9 +1660,11 @@ static int igt_shrink_thp(void *arg) ...@@ -1659,9 +1660,11 @@ static int igt_shrink_thp(void *arg)
goto out_put; goto out_put;
} }
wf = intel_runtime_pm_get(&i915->runtime_pm); /* active shrink */
err = i915_vma_pin(vma, 0, 0, flags); err = i915_vma_pin(vma, 0, 0, flags);
if (err) if (err)
goto out_put; goto out_wf;
if (obj->mm.page_sizes.phys < I915_GTT_PAGE_SIZE_2M) { if (obj->mm.page_sizes.phys < I915_GTT_PAGE_SIZE_2M) {
pr_info("failed to allocate THP, finishing test early\n"); pr_info("failed to allocate THP, finishing test early\n");
...@@ -1732,6 +1735,8 @@ static int igt_shrink_thp(void *arg) ...@@ -1732,6 +1735,8 @@ static int igt_shrink_thp(void *arg)
out_unpin: out_unpin:
i915_vma_unpin(vma); i915_vma_unpin(vma);
out_wf:
intel_runtime_pm_put(&i915->runtime_pm, wf);
out_put: out_put:
i915_gem_object_put(obj); i915_gem_object_put(obj);
out_vm: out_vm:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment