tree: git://people.freedesktop.org/~mlankhorst/linux locking-rework head: c48a37ca23222c49b902eb19133c02dc6f92d3f9 commit: c117654818b538ff6eec2e88051b47826207d9de [28/29] remove obj->mm.lock config: i386-defconfig (attached as .config) compiler: gcc-9 (Debian 9.3.0-14) 9.3.0 reproduce (this is a W=1 build): git checkout c117654818b538ff6eec2e88051b47826207d9de # save the attached .config to linux build tree make W=1 ARCH=i386 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from include/linux/rhashtable-types.h:14, from include/linux/ipc.h:7, from include/uapi/linux/sem.h:5, from include/linux/sem.h:5, from include/linux/sched.h:15, from include/linux/sched/mm.h:7, from drivers/gpu/drm/i915/gem/i915_gem_object.c:25: drivers/gpu/drm/i915/gem/i915_gem_object.c: In function 'i915_gem_object_init': >> drivers/gpu/drm/i915/gem/i915_gem_object.c:56:22: error: 'struct ' has no member named 'lock'; did you mean 'blocks'? 56 | mutex_init(&obj->mm.lock); | ^~~~ include/linux/mutex.h:108:16: note: in definition of macro 'mutex_init' 108 | __mutex_init((mutex), #mutex, &__key); \ | ^~~~~ drivers/gpu/drm/i915/gem/i915_gem_object.c:79:22: error: 'struct ' has no member named 'lock'; did you mean 'blocks'? 79 | &obj->mm.lock); | ^~~~ | blocks -- In file included from include/linux/spinlock_types.h:18, from include/linux/spinlock.h:83, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/slab.h:15, from include/linux/io-mapping.h:10, from drivers/gpu/drm/i915/i915_drv.h:36, from drivers/gpu/drm/i915/gem/i915_gem_pages.c:7: drivers/gpu/drm/i915/gem/i915_gem_pages.c: In function '__i915_gem_object_set_pages': >> drivers/gpu/drm/i915/gem/i915_gem_pages.c:21:31: error: 'struct ' has no member named 'lock'; did you mean 'blocks'? 21 | lockdep_assert_held(&obj->mm.lock); | ^~~~ include/linux/lockdep.h:545:46: note: in definition of macro 'lockdep_assert_held' 545 | #define lockdep_assert_held(l) do { (void)(l); } while (0) | ^ In file included from include/linux/notifier.h:14, from arch/x86/include/asm/uprobes.h:13, from include/linux/uprobes.h:49, from include/linux/mm_types.h:14, from include/linux/mmzone.h:21, from include/linux/gfp.h:6, from include/linux/slab.h:15, from include/linux/io-mapping.h:10, from drivers/gpu/drm/i915/i915_drv.h:36, from drivers/gpu/drm/i915/gem/i915_gem_pages.c:7: drivers/gpu/drm/i915/gem/i915_gem_pages.c: In function '__i915_gem_object_get_pages': drivers/gpu/drm/i915/gem/i915_gem_pages.c:112:49: error: 'struct ' has no member named 'lock'; did you mean 'blocks'? 112 | err = mutex_lock_interruptible_nested(&obj->mm.lock, I915_MM_GET_PAGES); | ^~~~ include/linux/mutex.h:174:83: note: in definition of macro 'mutex_lock_interruptible_nested' 174 | # define mutex_lock_interruptible_nested(lock, subclass) mutex_lock_interruptible(lock) | ^~~~ drivers/gpu/drm/i915/gem/i915_gem_pages.c:128:24: error: 'struct ' has no member named 'lock'; did you mean 'blocks'? 128 | mutex_unlock(&obj->mm.lock); | ^~~~ | blocks In file included from include/linux/spinlock_types.h:18, from include/linux/spinlock.h:83, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/slab.h:15, from include/linux/io-mapping.h:10, from drivers/gpu/drm/i915/i915_drv.h:36, from drivers/gpu/drm/i915/gem/i915_gem_pages.c:7: drivers/gpu/drm/i915/gem/i915_gem_pages.c: In function 'i915_gem_object_writeback': drivers/gpu/drm/i915/gem/i915_gem_pages.c:143:31: error: 'struct ' has no member named 'lock'; did you mean 'blocks'? 143 | lockdep_assert_held(&obj->mm.lock); | ^~~~ include/linux/lockdep.h:545:46: note: in definition of macro 'lockdep_assert_held' 545 | #define lockdep_assert_held(l) do { (void)(l); } while (0) | ^ drivers/gpu/drm/i915/gem/i915_gem_pages.c: In function '__i915_gem_object_put_pages': drivers/gpu/drm/i915/gem/i915_gem_pages.c:203:22: error: 'struct ' has no member named 'lock'; did you mean 'blocks'? 203 | mutex_lock(&obj->mm.lock); | ^~~~ | blocks drivers/gpu/drm/i915/gem/i915_gem_pages.c:232:24: error: 'struct ' has no member named 'lock'; did you mean 'blocks'? 232 | mutex_unlock(&obj->mm.lock); | ^~~~ | blocks In file included from include/linux/notifier.h:14, from arch/x86/include/asm/uprobes.h:13, from include/linux/uprobes.h:49, from include/linux/mm_types.h:14, from include/linux/mmzone.h:21, from include/linux/gfp.h:6, from include/linux/slab.h:15, from include/linux/io-mapping.h:10, from drivers/gpu/drm/i915/i915_drv.h:36, from drivers/gpu/drm/i915/gem/i915_gem_pages.c:7: drivers/gpu/drm/i915/gem/i915_gem_pages.c: In function 'i915_gem_object_pin_map': drivers/gpu/drm/i915/gem/i915_gem_pages.c:328:49: error: 'struct ' has no member named 'lock'; did you mean 'blocks'? 328 | err = mutex_lock_interruptible_nested(&obj->mm.lock, I915_MM_GET_PAGES); | ^~~~ include/linux/mutex.h:174:83: note: in definition of macro 'mutex_lock_interruptible_nested' 174 | # define mutex_lock_interruptible_nested(lock, subclass) mutex_lock_interruptible(lock) | ^~~~ drivers/gpu/drm/i915/gem/i915_gem_pages.c:373:24: error: 'struct ' has no member named 'lock'; did you mean 'blocks'? 373 | mutex_unlock(&obj->mm.lock); | ^~~~ | blocks -- In file included from include/linux/notifier.h:14, from arch/x86/include/asm/uprobes.h:13, from include/linux/uprobes.h:49, from include/linux/mm_types.h:14, from include/linux/mmzone.h:21, from include/linux/gfp.h:6, from include/linux/xarray.h:14, from include/linux/radix-tree.h:18, from include/linux/fs.h:15, from include/linux/highmem.h:5, from drivers/gpu/drm/i915/gem/i915_gem_phys.c:7: drivers/gpu/drm/i915/gem/i915_gem_phys.c: In function 'i915_gem_object_attach_phys': >> drivers/gpu/drm/i915/gem/i915_gem_phys.c:177:29: error: 'struct ' has no member named 'lock'; did you mean 'blocks'? 177 | mutex_lock_nested(&obj->mm.lock, I915_MM_GET_PAGES); | ^~~~ include/linux/mutex.h:173:55: note: in definition of macro 'mutex_lock_nested' 173 | # define mutex_lock_nested(lock, subclass) mutex_lock(lock) | ^~~~ drivers/gpu/drm/i915/gem/i915_gem_phys.c:220:24: error: 'struct ' has no member named 'lock'; did you mean 'blocks'? 220 | mutex_unlock(&obj->mm.lock); | ^~~~ | blocks -- drivers/gpu/drm/i915/gem/i915_gem_shrinker.c: In function 'i915_gem_shrink': >> drivers/gpu/drm/i915/gem/i915_gem_shrinker.c:204:25: error: 'struct ' has no member named 'lock'; did you mean 'blocks'? 204 | mutex_lock(&obj->mm.lock); | ^~~~ | blocks drivers/gpu/drm/i915/gem/i915_gem_shrinker.c:209:27: error: 'struct ' has no member named 'lock'; did you mean 'blocks'? 209 | mutex_unlock(&obj->mm.lock); | ^~~~ | blocks -- drivers/gpu/drm/i915/gem/i915_gem_tiling.c: In function 'i915_gem_object_set_tiling': >> drivers/gpu/drm/i915/gem/i915_gem_tiling.c:268:22: error: 'struct ' has no member named 'lock'; did you mean 'blocks'? 268 | mutex_lock(&obj->mm.lock); | ^~~~ | blocks drivers/gpu/drm/i915/gem/i915_gem_tiling.c:283:24: error: 'struct ' has no member named 'lock'; did you mean 'blocks'? 283 | mutex_unlock(&obj->mm.lock); | ^~~~ | blocks vim +56 drivers/gpu/drm/i915/gem/i915_gem_object.c 51 52 void i915_gem_object_init(struct drm_i915_gem_object *obj, 53 const struct drm_i915_gem_object_ops *ops, 54 struct lock_class_key *key) 55 { > 56 mutex_init(&obj->mm.lock); 57 58 spin_lock_init(&obj->vma.lock); 59 INIT_LIST_HEAD(&obj->vma.list); 60 61 INIT_LIST_HEAD(&obj->mm.link); 62 63 INIT_LIST_HEAD(&obj->lut_list); 64 spin_lock_init(&obj->lut_lock); 65 66 spin_lock_init(&obj->mmo.lock); 67 obj->mmo.offsets = RB_ROOT; 68 69 init_rcu_head(&obj->rcu); 70 71 obj->ops = ops; 72 73 obj->mm.madv = I915_MADV_WILLNEED; 74 INIT_RADIX_TREE(&obj->mm.get_page.radix, GFP_KERNEL | __GFP_NOWARN); 75 mutex_init(&obj->mm.get_page.lock); 76 77 if (IS_ENABLED(CONFIG_LOCKDEP) && i915_gem_object_is_shrinkable(obj)) 78 i915_gem_shrinker_taints_mutex(to_i915(obj->base.dev), 79 &obj->mm.lock); 80 } 81 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org