[gvt-linux:topic/gvt-xengt 26/33] drivers/gpu/drm/i915/gvt/migrate.c:447:9: error: 'struct intel_vgpu' has no member named 'workload_q_head'

kbuild test robot fengguang.wu at intel.com
Tue Nov 7 08:49:33 UTC 2017


tree:   https://github.com/01org/gvt-linux.git topic/gvt-xengt
head:   c21e6a1b6a2c0226a2cb6a101223e53bf73a6edc
commit: 879aa5019106467a2993d89587c6026d27436e80 [26/33] drm/i915/gvt: Implement vGPU status save and restore through new VFIO subregion VFIO_REGION_SUBTYPE_DEVICE_STATE
config: x86_64-randconfig-it0-11071517 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
        git checkout 879aa5019106467a2993d89587c6026d27436e80
        # save the attached .config to linux build tree
        make ARCH=x86_64 

Note: the gvt-linux/topic/gvt-xengt HEAD c21e6a1b6a2c0226a2cb6a101223e53bf73a6edc builds fine.
      It only hurts bisectibility.

All error/warnings (new ones prefixed by >>):

   In file included from include/asm-generic/bug.h:16:0,
                    from arch/x86/include/asm/bug.h:82,
                    from include/linux/bug.h:5,
                    from include/linux/mmdebug.h:5,
                    from include/linux/gfp.h:5,
                    from include/linux/slab.h:15,
                    from include/linux/io-mapping.h:22,
                    from drivers/gpu/drm/i915/i915_drv.h:36,
                    from drivers/gpu/drm/i915/gvt/migrate.c:28:
   drivers/gpu/drm/i915/gvt/migrate.c: In function 'workload_save':
>> drivers/gpu/drm/i915/gvt/migrate.c:447:9: error: 'struct intel_vgpu' has no member named 'workload_q_head'
       &vgpu->workload_q_head[engine->id], list) {
            ^
   include/linux/kernel.h:928:26: note: in definition of macro 'container_of'
     void *__mptr = (void *)(ptr);     \
                             ^
   include/linux/list.h:377:2: note: in expansion of macro 'list_entry'
     list_entry((ptr)->next, type, member)
     ^
   include/linux/list.h:551:13: note: in expansion of macro 'list_first_entry'
     for (pos = list_first_entry(head, typeof(*pos), member), \
                ^
>> drivers/gpu/drm/i915/gvt/migrate.c:446:3: note: in expansion of macro 'list_for_each_entry_safe'
      list_for_each_entry_safe(pos, n,
      ^
   In file included from include/uapi/linux/stddef.h:2:0,
                    from include/linux/stddef.h:5,
                    from include/uapi/linux/posix_types.h:5,
                    from include/uapi/linux/types.h:14,
                    from include/linux/types.h:6,
                    from include/uapi/drm/drm.h:41,
                    from include/uapi/drm/i915_drm.h:30,
                    from drivers/gpu/drm/i915/i915_drv.h:33,
                    from drivers/gpu/drm/i915/gvt/migrate.c:28:
>> drivers/gpu/drm/i915/gvt/migrate.c:447:9: error: 'struct intel_vgpu' has no member named 'workload_q_head'
       &vgpu->workload_q_head[engine->id], list) {
            ^
   include/linux/compiler.h:554:19: note: in definition of macro '__compiletime_assert'
      bool __cond = !(condition);    \
                      ^
   include/linux/compiler.h:577:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^
   include/linux/build_bug.h:47:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^
   include/linux/kernel.h:929:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
     ^
   include/linux/kernel.h:929:20: note: in expansion of macro '__same_type'
     BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
                       ^
   include/linux/list.h:366:2: note: in expansion of macro 'container_of'
     container_of(ptr, type, member)
     ^
   include/linux/list.h:377:2: note: in expansion of macro 'list_entry'
     list_entry((ptr)->next, type, member)
     ^
   include/linux/list.h:551:13: note: in expansion of macro 'list_first_entry'
     for (pos = list_first_entry(head, typeof(*pos), member), \
                ^
>> drivers/gpu/drm/i915/gvt/migrate.c:446:3: note: in expansion of macro 'list_for_each_entry_safe'
      list_for_each_entry_safe(pos, n,
      ^
>> drivers/gpu/drm/i915/gvt/migrate.c:447:9: error: 'struct intel_vgpu' has no member named 'workload_q_head'
       &vgpu->workload_q_head[engine->id], list) {
            ^
   include/linux/compiler.h:554:19: note: in definition of macro '__compiletime_assert'
      bool __cond = !(condition);    \
                      ^
   include/linux/compiler.h:577:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^
   include/linux/build_bug.h:47:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^
   include/linux/kernel.h:929:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
     ^
   include/linux/kernel.h:930:6: note: in expansion of macro '__same_type'
        !__same_type(*(ptr), void),   \
         ^
   include/linux/list.h:366:2: note: in expansion of macro 'container_of'
     container_of(ptr, type, member)
     ^
   include/linux/list.h:377:2: note: in expansion of macro 'list_entry'
     list_entry((ptr)->next, type, member)
     ^
   include/linux/list.h:551:13: note: in expansion of macro 'list_first_entry'
     for (pos = list_first_entry(head, typeof(*pos), member), \
                ^
>> drivers/gpu/drm/i915/gvt/migrate.c:446:3: note: in expansion of macro 'list_for_each_entry_safe'
      list_for_each_entry_safe(pos, n,
      ^
   In file included from include/linux/preempt.h:11:0,
                    from include/linux/spinlock.h:51,
                    from include/linux/mmzone.h:8,
                    from include/linux/gfp.h:6,
                    from include/linux/slab.h:15,
                    from include/linux/io-mapping.h:22,
                    from drivers/gpu/drm/i915/i915_drv.h:36,
                    from drivers/gpu/drm/i915/gvt/migrate.c:28:
>> drivers/gpu/drm/i915/gvt/migrate.c:447:9: error: 'struct intel_vgpu' has no member named 'workload_q_head'
       &vgpu->workload_q_head[engine->id], list) {
            ^
   include/linux/list.h:553:24: note: in definition of macro 'list_for_each_entry_safe'
          &pos->member != (head);      \
                           ^

vim +447 drivers/gpu/drm/i915/gvt/migrate.c

   431	
   432	static int workload_save(const struct gvt_migration_obj_t *obj)
   433	{
   434		struct intel_vgpu *vgpu = (struct intel_vgpu *) obj->vgpu;
   435		struct drm_i915_private *dev_priv = vgpu->gvt->dev_priv;
   436		struct gvt_region_t region;
   437		struct intel_engine_cs *engine;
   438		struct intel_vgpu_workload *pos, *n;
   439		unsigned int i;
   440		struct gvt_pending_workload_t workload;
   441		void *des = obj->img + obj->offset;
   442		unsigned int num = 0;
   443		u32 sz = sizeof(struct gvt_pending_workload_t);
   444	
   445		for_each_engine(engine, dev_priv, i) {
 > 446			list_for_each_entry_safe(pos, n,
 > 447				&vgpu->workload_q_head[engine->id], list) {
   448				workload.ring_id = pos->ring_id;
   449				memcpy(&workload.elsp_dwords, &pos->elsp_dwords,
   450					sizeof(struct intel_vgpu_elsp_dwords));
   451				memcpy(des + sizeof(struct gvt_region_t) + (num * sz),
   452					&workload, sz);
   453				num++;
   454			}
   455		}
   456	
   457		region.type = GVT_MIGRATION_WORKLOAD;
   458		region.size = num * sz;
   459		memcpy(des, &region, sizeof(struct gvt_region_t));
   460	
   461		return sizeof(struct gvt_region_t) + region.size;
   462	}
   463	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 28536 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gvt-dev/attachments/20171107/0fac3209/attachment-0001.gz>


More information about the intel-gvt-dev mailing list