Re: [PATCH v5 5/8] mm: Device exclusive memory access

kernel test robot
2021-03-10T03:52:56Z

[-- Attachment #1: Type: text/plain, Size: 5411 bytes --]

Hi Alistair,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on s390/features]
[also build test ERROR on linus/master v5.12-rc2 next-20210309]
[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]

url: https://github.com/0day-ci/linux/commits/Alistair-Popple/Add-support-for-SVM-atomics-in-Nouveau/20210310-064003
base: https://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git features
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/f16159aa0e930d32501682bca18bd840f4afd7f1
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Alistair-Popple/Add-support-for-SVM-atomics-in-Nouveau/20210310-064003
git checkout f16159aa0e930d32501682bca18bd840f4afd7f1
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

Note: the linux-review/Alistair-Popple/Add-support-for-SVM-atomics-in-Nouveau/20210310-064003 HEAD 1c7d3a45d0693d661c4d9fbd8d25745b1db4fcbb builds fine.
It only hurts bisectibility.

All errors (new ones prefixed by >>):

drivers/gpu/drm/nouveau/nouveau_svm.c: In function 'nouveau_svmm_invalidate_range_start':
>> drivers/gpu/drm/nouveau/nouveau_svm.c:268:12: error: 'const struct mmu_notifier_range' has no member named 'migrate_pgmap_owner'
268 | update->migrate_pgmap_owner == svmm->vmm->cli->drm->dev)
| ^~
drivers/gpu/drm/nouveau/nouveau_svm.c: In function 'nouveau_pfns_map':
drivers/gpu/drm/nouveau/nouveau_svm.c:814:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
814 | int ret;
| ^~~

vim +268 drivers/gpu/drm/nouveau/nouveau_svm.c

eeaf06ac1a5584 Ben Skeggs 2018-07-05 244
eeaf06ac1a5584 Ben Skeggs 2018-07-05 245 static int
c625c274ee0058 Jason Gunthorpe 2019-11-12 246 nouveau_svmm_invalidate_range_start(struct mmu_notifier *mn,
1f961807925032 Ralph Campbell 2019-07-25 247 const struct mmu_notifier_range *update)
eeaf06ac1a5584 Ben Skeggs 2018-07-05 248 {
c625c274ee0058 Jason Gunthorpe 2019-11-12 249 struct nouveau_svmm *svmm =
c625c274ee0058 Jason Gunthorpe 2019-11-12 250 container_of(mn, struct nouveau_svmm, notifier);
eeaf06ac1a5584 Ben Skeggs 2018-07-05 251 unsigned long start = update->start;
eeaf06ac1a5584 Ben Skeggs 2018-07-05 252 unsigned long limit = update->end;
eeaf06ac1a5584 Ben Skeggs 2018-07-05 253
1f961807925032 Ralph Campbell 2019-07-25 254 if (!mmu_notifier_range_blockable(update))
eeaf06ac1a5584 Ben Skeggs 2018-07-05 255 return -EAGAIN;
eeaf06ac1a5584 Ben Skeggs 2018-07-05 256
eeaf06ac1a5584 Ben Skeggs 2018-07-05 257 SVMM_DBG(svmm, "invalidate %016lx-%016lx", start, limit);
eeaf06ac1a5584 Ben Skeggs 2018-07-05 258
eeaf06ac1a5584 Ben Skeggs 2018-07-05 259 mutex_lock(&svmm->mutex);
c625c274ee0058 Jason Gunthorpe 2019-11-12 260 if (unlikely(!svmm->vmm))
c625c274ee0058 Jason Gunthorpe 2019-11-12 261 goto out;
c625c274ee0058 Jason Gunthorpe 2019-11-12 262
f8477ce6b5923e Ralph Campbell 2020-07-23 263 /*
f8477ce6b5923e Ralph Campbell 2020-07-23 264 * Ignore invalidation callbacks for device private pages since
f8477ce6b5923e Ralph Campbell 2020-07-23 265 * the invalidation is handled as part of the migration process.
f8477ce6b5923e Ralph Campbell 2020-07-23 266 */
f8477ce6b5923e Ralph Campbell 2020-07-23 267 if (update->event == MMU_NOTIFY_MIGRATE &&
f8477ce6b5923e Ralph Campbell 2020-07-23 @268 update->migrate_pgmap_owner == svmm->vmm->cli->drm->dev)
f8477ce6b5923e Ralph Campbell 2020-07-23 269 goto out;
f8477ce6b5923e Ralph Campbell 2020-07-23 270
eeaf06ac1a5584 Ben Skeggs 2018-07-05 271 if (limit > svmm->unmanaged.start && start < svmm->unmanaged.limit) {
eeaf06ac1a5584 Ben Skeggs 2018-07-05 272 if (start < svmm->unmanaged.start) {
eeaf06ac1a5584 Ben Skeggs 2018-07-05 273 nouveau_svmm_invalidate(svmm, start,
eeaf06ac1a5584 Ben Skeggs 2018-07-05 274 svmm->unmanaged.limit);
eeaf06ac1a5584 Ben Skeggs 2018-07-05 275 }
eeaf06ac1a5584 Ben Skeggs 2018-07-05 276 start = svmm->unmanaged.limit;
eeaf06ac1a5584 Ben Skeggs 2018-07-05 277 }
eeaf06ac1a5584 Ben Skeggs 2018-07-05 278
eeaf06ac1a5584 Ben Skeggs 2018-07-05 279 nouveau_svmm_invalidate(svmm, start, limit);
c625c274ee0058 Jason Gunthorpe 2019-11-12 280
c625c274ee0058 Jason Gunthorpe 2019-11-12 281 out:
eeaf06ac1a5584 Ben Skeggs 2018-07-05 282 mutex_unlock(&svmm->mutex);
eeaf06ac1a5584 Ben Skeggs 2018-07-05 283 return 0;
eeaf06ac1a5584 Ben Skeggs 2018-07-05 284 }
eeaf06ac1a5584 Ben Skeggs 2018-07-05 285

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 76878 bytes --]