mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
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/6370 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Matthew Auld <matthew.auld@intel.com> Signed-off-by: Matthew Auld <matthew.auld@intel.com> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220706154738.235204-1-matthew.auld@intel.com
This commit is contained in:
parent
b94a1a207d
commit
027c38b412
1 changed files with 6 additions and 1 deletions
|
@ -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)
|
||||||
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)
|
||||||
|
|
||||||
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:
|
||||||
|
|
Loading…
Add table
Reference in a new issue