[PATCH v2] i915/selftest/igt_mmap: let mmap tests run in kthread
Krzysztof Niemiec
krzysztof.niemiec at intel.com
Wed Mar 5 16:31:49 UTC 2025
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 at intel.com>
> Reviewed-by: Eugene Kobyak <eugene.kobyak at intel.com>
> ---
> 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
More information about the Intel-gfx
mailing list