Commit 34b1c1c7 authored by Mikolaj Wasiak's avatar Mikolaj Wasiak Committed by Andi Shyti
Browse files

i915/selftest/igt_mmap: let mmap tests run in kthread



When the driver is loaded on the system with numa nodes it might be run in
a kthread, which makes it impossible to use current->mm in the selftest.
This patch allows the selftest to use current->mm by using active_mm.

Signed-off-by: default avatarMikolaj Wasiak <mikolaj.wasiak@intel.com>
Reviewed-by: default avatarEugene Kobyak <eugene.kobyak@intel.com>
Reviewed-by: default avatarKrzysztof Niemiec <krzysztof.niemiec@intel.com>
Reviewed-by: default avatarKrzysztof Karas <krzysztof.karas@intel.com>
Reviewed-by: default avatarAndi Shyti <andi.shyti@linux.intel.com>
Signed-off-by: default avatarAndi Shyti <andi.shyti@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/2w6pt2hnemndwmanwhyn3keexa6vtha7rmo6rqoerkmyxhbrh2@ls7lndjpia6z
parent bfef148f
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -1837,6 +1837,8 @@ static int igt_mmap_revoke(void *arg)

int i915_gem_mman_live_selftests(struct drm_i915_private *i915)
{
	int ret;
	bool unuse_mm = false;
	static const struct i915_subtest tests[] = {
		SUBTEST(igt_partial_tiling),
		SUBTEST(igt_smoke_tiling),
@@ -1848,5 +1850,15 @@ int i915_gem_mman_live_selftests(struct drm_i915_private *i915)
		SUBTEST(igt_mmap_gpu),
	};

	return i915_live_subtests(tests, i915);
	if (!current->mm) {
		kthread_use_mm(current->active_mm);
		unuse_mm = true;
	}

	ret = i915_live_subtests(tests, i915);

	if (unuse_mm)
		kthread_unuse_mm(current->active_mm);

	return ret;
}