[PATCH v3 6/7] drm/xe/userptr: replace xe_hmm with gpusvm

kernel test robot lkp at intel.com
Thu Apr 24 14:42:11 UTC 2025


Hi Matthew,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-xe/drm-xe-next]
[also build test ERROR on next-20250424]
[cannot apply to drm-exynos/exynos-drm-next linus/master drm/drm-next drm-intel/for-linux-next drm-intel/for-linux-next-fixes drm-misc/drm-misc-next drm-tip/drm-tip v6.15-rc3]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Matthew-Auld/drm-gpusvm-fix-hmm_pfn_to_map_order-usage/20250424-202128
base:   https://gitlab.freedesktop.org/drm/xe/kernel.git drm-xe-next
patch link:    https://lore.kernel.org/r/20250424121827.862729-15-matthew.auld%40intel.com
patch subject: [PATCH v3 6/7] drm/xe/userptr: replace xe_hmm with gpusvm
config: loongarch-randconfig-002-20250424 (https://download.01.org/0day-ci/archive/20250424/202504242203.MfhcD5LA-lkp@intel.com/config)
compiler: loongarch64-linux-gcc (GCC) 12.4.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250424/202504242203.MfhcD5LA-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202504242203.MfhcD5LA-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from include/linux/irqflags.h:19,
                    from include/linux/spinlock.h:59,
                    from include/linux/sched.h:2213,
                    from include/linux/ratelimit.h:6,
                    from include/linux/dev_printk.h:16,
                    from include/linux/device.h:15,
                    from include/drm/drm_print.h:31,
                    from drivers/gpu/drm/xe/xe_assert.h:11,
                    from drivers/gpu/drm/xe/xe_vm.h:9,
                    from drivers/gpu/drm/xe/xe_vm.c:6:
   arch/loongarch/include/asm/percpu.h:20:4: error: #error compiler support for the model attribute is necessary when a recent assembler is used
      20 | #  error compiler support for the model attribute is necessary when a recent assembler is used
         |    ^~~~~
   drivers/gpu/drm/xe/xe_vm.c: In function 'xe_vma_userptr_force_invalidate':
>> drivers/gpu/drm/xe/xe_vm.c:699:52: error: 'struct xe_userptr' has no member named 'notifier_seq'; did you mean 'notifier'?
     699 |                                      uvma->userptr.notifier_seq))
         |                                                    ^~~~~~~~~~~~
         |                                                    notifier
   drivers/gpu/drm/xe/xe_vm.c:700:31: error: 'struct xe_userptr' has no member named 'notifier_seq'; did you mean 'notifier'?
     700 |                 uvma->userptr.notifier_seq -= 2;
         |                               ^~~~~~~~~~~~
         |                               notifier

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for DRM_GPUSVM
   Depends on [n]: HAS_IOMEM [=y] && DRM [=y] && DEVICE_PRIVATE [=n]
   Selected by [m]:
   - DRM_XE [=m] && HAS_IOMEM [=y] && DRM [=y] && PCI [=y] && MMU [=y] && (m [=m] && MODULES [=y] || KUNIT [=n]=y [=y])


vim +699 drivers/gpu/drm/xe/xe_vm.c

dd08ebf6c3525a Matthew Brost    2023-03-30  676  
100a5b8dadfca5 Thomas Hellström 2025-02-28  677  #if IS_ENABLED(CONFIG_DRM_XE_USERPTR_INVAL_INJECT)
100a5b8dadfca5 Thomas Hellström 2025-02-28  678  /**
100a5b8dadfca5 Thomas Hellström 2025-02-28  679   * xe_vma_userptr_force_invalidate() - force invalidate a userptr
100a5b8dadfca5 Thomas Hellström 2025-02-28  680   * @uvma: The userptr vma to invalidate
100a5b8dadfca5 Thomas Hellström 2025-02-28  681   *
100a5b8dadfca5 Thomas Hellström 2025-02-28  682   * Perform a forced userptr invalidation for testing purposes.
100a5b8dadfca5 Thomas Hellström 2025-02-28  683   */
100a5b8dadfca5 Thomas Hellström 2025-02-28  684  void xe_vma_userptr_force_invalidate(struct xe_userptr_vma *uvma)
100a5b8dadfca5 Thomas Hellström 2025-02-28  685  {
100a5b8dadfca5 Thomas Hellström 2025-02-28  686  	struct xe_vm *vm = xe_vma_vm(&uvma->vma);
100a5b8dadfca5 Thomas Hellström 2025-02-28  687  
100a5b8dadfca5 Thomas Hellström 2025-02-28  688  	/* Protect against concurrent userptr pinning */
100a5b8dadfca5 Thomas Hellström 2025-02-28  689  	lockdep_assert_held(&vm->lock);
100a5b8dadfca5 Thomas Hellström 2025-02-28  690  	/* Protect against concurrent notifiers */
a2cfe1a4a9e967 Matthew Auld     2025-04-24  691  	lockdep_assert_held(&vm->svm.gpusvm.notifier_lock);
100a5b8dadfca5 Thomas Hellström 2025-02-28  692  	/*
100a5b8dadfca5 Thomas Hellström 2025-02-28  693  	 * Protect against concurrent instances of this function and
100a5b8dadfca5 Thomas Hellström 2025-02-28  694  	 * the critical exec sections
100a5b8dadfca5 Thomas Hellström 2025-02-28  695  	 */
100a5b8dadfca5 Thomas Hellström 2025-02-28  696  	xe_vm_assert_held(vm);
100a5b8dadfca5 Thomas Hellström 2025-02-28  697  
100a5b8dadfca5 Thomas Hellström 2025-02-28  698  	if (!mmu_interval_read_retry(&uvma->userptr.notifier,
100a5b8dadfca5 Thomas Hellström 2025-02-28 @699  				     uvma->userptr.notifier_seq))
100a5b8dadfca5 Thomas Hellström 2025-02-28  700  		uvma->userptr.notifier_seq -= 2;
100a5b8dadfca5 Thomas Hellström 2025-02-28  701  	__vma_userptr_invalidate(vm, uvma);
100a5b8dadfca5 Thomas Hellström 2025-02-28  702  }
100a5b8dadfca5 Thomas Hellström 2025-02-28  703  #endif
100a5b8dadfca5 Thomas Hellström 2025-02-28  704  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


More information about the Intel-xe mailing list