Hi Heng, kernel test robot noticed the following build errors:
[auto build test ERROR on net-next/main] url: https://github.com/intel-lab-lkp/linux/commits/Heng-Qi/virtio-net-fix-possible-dim-status-unrecoverable/20240116-211306 base: net-next/main patch link: https://lore.kernel.org/r/1705410693-118895-4-git-send-email-hengqi%40linux.alibaba.com patch subject: [PATCH net-next 3/3] virtio-net: reduce the CPU consumption of dim worker config: i386-randconfig-012-20240119 (https://download.01.org/0day-ci/archive/20240119/202401191807.rihmhj4u-...@intel.com/config) compiler: ClangBuiltLinux clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240119/202401191807.rihmhj4u-...@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 <l...@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202401191807.rihmhj4u-...@intel.com/ All errors (new ones prefixed by >>): >> drivers/net/virtio_net.c:3590:27: error: invalid application of 'sizeof' to >> an incomplete type 'struct virtnet_coal_entry' 3590 | ctrl->num_entries * sizeof(struct virtnet_coal_entry)); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/virtio_net.c:3590:41: note: forward declaration of 'struct virtnet_coal_entry' 3590 | ctrl->num_entries * sizeof(struct virtnet_coal_entry)); | ^ drivers/net/virtio_net.c:3658:27: error: invalid application of 'sizeof' to an incomplete type 'struct virtnet_coal_entry' 3658 | vi->max_queue_pairs * sizeof(struct virtnet_coal_entry)); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/virtio_net.c:3658:41: note: forward declaration of 'struct virtnet_coal_entry' 3658 | vi->max_queue_pairs * sizeof(struct virtnet_coal_entry)); | ^ drivers/net/virtio_net.c:4544:31: error: invalid application of 'sizeof' to an incomplete type 'struct virtnet_coal_entry' 4544 | vi->max_queue_pairs * sizeof(struct virtnet_coal_entry)), GFP_KERNEL); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/virtio_net.c:4544:45: note: forward declaration of 'struct virtnet_coal_entry' 4544 | vi->max_queue_pairs * sizeof(struct virtnet_coal_entry)), GFP_KERNEL); | ^ drivers/net/virtio_net.c:4551:27: error: invalid application of 'sizeof' to an incomplete type 'struct virtnet_coal_entry' 4551 | vi->max_queue_pairs * sizeof(struct virtnet_coal_entry)); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/virtio_net.c:4544:45: note: forward declaration of 'struct virtnet_coal_entry' 4544 | vi->max_queue_pairs * sizeof(struct virtnet_coal_entry)), GFP_KERNEL); | ^ 4 errors generated. vim +3590 drivers/net/virtio_net.c 3570 3571 static bool virtnet_add_dim_command(struct virtnet_info *vi, 3572 struct virtnet_batch_coal *ctrl) 3573 { 3574 struct scatterlist *sgs[4], hdr, stat, out; 3575 unsigned out_num = 0; 3576 int ret; 3577 3578 /* Caller should know better */ 3579 BUG_ON(!virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_VQ)); 3580 3581 ctrl->hdr.class = VIRTIO_NET_CTRL_NOTF_COAL; 3582 ctrl->hdr.cmd = VIRTIO_NET_CTRL_NOTF_COAL_VQS_SET; 3583 3584 /* Add header */ 3585 sg_init_one(&hdr, &ctrl->hdr, sizeof(ctrl->hdr)); 3586 sgs[out_num++] = &hdr; 3587 3588 /* Add body */ 3589 sg_init_one(&out, &ctrl->num_entries, sizeof(ctrl->num_entries) + > 3590 ctrl->num_entries * sizeof(struct > virtnet_coal_entry)); 3591 sgs[out_num++] = &out; 3592 3593 /* Add return status. */ 3594 ctrl->status = VIRTIO_NET_OK; 3595 sg_init_one(&stat, &ctrl->status, sizeof(ctrl->status)); 3596 sgs[out_num] = &stat; 3597 3598 BUG_ON(out_num + 1 > ARRAY_SIZE(sgs)); 3599 ret = virtqueue_add_sgs(vi->cvq, sgs, out_num, 1, ctrl, GFP_ATOMIC); 3600 if (ret < 0) { 3601 dev_warn(&vi->vdev->dev, "Failed to add sgs for command vq: %d\n.", ret); 3602 return false; 3603 } 3604 3605 virtqueue_kick(vi->cvq); 3606 3607 ctrl->usable = false; 3608 vi->cvq_cmd_nums++; 3609 3610 return true; 3611 } 3612 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki