Hi Mikolaj, On 2025-03-04 at 09:43:26 GMT, Mikolaj Wasiak wrote: > 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: Mikolaj Wasiak <mikolaj.wasiak@xxxxxxxxx> > Reviewed-by: Eugene Kobyak <eugene.kobyak@xxxxxxxxx> > --- > v1 -> v2: Simplify logic of enabling and disabling active_mm > > drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c > index 804f74084bd4..9c3f17e51885 100644 > --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c > +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c > @@ -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); Don't we run into the same issue as in V1, meaning we use an unknown current->active_mm (since we run in a kthread, and cannot control it) to use as the current->mm? Maybe a better approach would be to create a new mm for the duration of the test, similarly to how the patch Janusz mentioned does it? (51104c19d857) Thanks Krzysztof