Re: [PATCH 1/4] vdpa: support packed virtqueue for set/get_vq_state()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jason,

I love your patch! Yet something to improve:

[auto build test ERROR on vhost/linux-next]
[also build test ERROR on linus/master v5.13-rc4 next-20210601]
[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/Jason-Wang/Packed-virtqueue-state-support-for-vDPA/20210601-164715
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git linux-next
config: alpha-allyesconfig (attached as .config)
compiler: alpha-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/eccc56e52d8c89dd93da5df0362931151417eb6a
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Jason-Wang/Packed-virtqueue-state-support-for-vDPA/20210601-164715
        git checkout eccc56e52d8c89dd93da5df0362931151417eb6a
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=alpha 

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

All errors (new ones prefixed by >>):

   drivers/vdpa/mlx5/net/mlx5_vnet.c: In function 'mlx5_vdpa_set_vq_state':
>> drivers/vdpa/mlx5/net/mlx5_vnet.c:1430:23: error: 'const struct vdpa_vq_state' has no member named 'avail_index'
    1430 |  mvq->used_idx = state->avail_index;
         |                       ^~
   drivers/vdpa/mlx5/net/mlx5_vnet.c:1431:24: error: 'const struct vdpa_vq_state' has no member named 'avail_index'
    1431 |  mvq->avail_idx = state->avail_index;
         |                        ^~
   drivers/vdpa/mlx5/net/mlx5_vnet.c: In function 'mlx5_vdpa_get_vq_state':
>> drivers/vdpa/mlx5/net/mlx5_vnet.c:1452:8: error: 'struct vdpa_vq_state' has no member named 'avail_index'
    1452 |   state->avail_index = mvq->used_idx;
         |        ^~
   drivers/vdpa/mlx5/net/mlx5_vnet.c:1461:7: error: 'struct vdpa_vq_state' has no member named 'avail_index'
    1461 |  state->avail_index = attr.used_index;
         |       ^~


vim +1430 drivers/vdpa/mlx5/net/mlx5_vnet.c

1a86b377aa2147 Eli Cohen  2020-08-04  1417  
1a86b377aa2147 Eli Cohen  2020-08-04  1418  static int mlx5_vdpa_set_vq_state(struct vdpa_device *vdev, u16 idx,
1a86b377aa2147 Eli Cohen  2020-08-04  1419  				  const struct vdpa_vq_state *state)
1a86b377aa2147 Eli Cohen  2020-08-04  1420  {
1a86b377aa2147 Eli Cohen  2020-08-04  1421  	struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev);
1a86b377aa2147 Eli Cohen  2020-08-04  1422  	struct mlx5_vdpa_net *ndev = to_mlx5_vdpa_ndev(mvdev);
1a86b377aa2147 Eli Cohen  2020-08-04  1423  	struct mlx5_vdpa_virtqueue *mvq = &ndev->vqs[idx];
1a86b377aa2147 Eli Cohen  2020-08-04  1424  
1a86b377aa2147 Eli Cohen  2020-08-04  1425  	if (mvq->fw_state == MLX5_VIRTIO_NET_Q_OBJECT_STATE_RDY) {
1a86b377aa2147 Eli Cohen  2020-08-04  1426  		mlx5_vdpa_warn(mvdev, "can't modify available index\n");
1a86b377aa2147 Eli Cohen  2020-08-04  1427  		return -EINVAL;
1a86b377aa2147 Eli Cohen  2020-08-04  1428  	}
1a86b377aa2147 Eli Cohen  2020-08-04  1429  
bc04d93ea30a0a Eli Cohen  2021-04-08 @1430  	mvq->used_idx = state->avail_index;
1a86b377aa2147 Eli Cohen  2020-08-04  1431  	mvq->avail_idx = state->avail_index;
1a86b377aa2147 Eli Cohen  2020-08-04  1432  	return 0;
1a86b377aa2147 Eli Cohen  2020-08-04  1433  }
1a86b377aa2147 Eli Cohen  2020-08-04  1434  
1a86b377aa2147 Eli Cohen  2020-08-04  1435  static int mlx5_vdpa_get_vq_state(struct vdpa_device *vdev, u16 idx, struct vdpa_vq_state *state)
1a86b377aa2147 Eli Cohen  2020-08-04  1436  {
1a86b377aa2147 Eli Cohen  2020-08-04  1437  	struct mlx5_vdpa_dev *mvdev = to_mvdev(vdev);
1a86b377aa2147 Eli Cohen  2020-08-04  1438  	struct mlx5_vdpa_net *ndev = to_mlx5_vdpa_ndev(mvdev);
1a86b377aa2147 Eli Cohen  2020-08-04  1439  	struct mlx5_vdpa_virtqueue *mvq = &ndev->vqs[idx];
1a86b377aa2147 Eli Cohen  2020-08-04  1440  	struct mlx5_virtq_attr attr;
1a86b377aa2147 Eli Cohen  2020-08-04  1441  	int err;
1a86b377aa2147 Eli Cohen  2020-08-04  1442  
3176e974a750d6 Si-Wei Liu 2020-10-01  1443  	/* If the virtq object was destroyed, use the value saved at
3176e974a750d6 Si-Wei Liu 2020-10-01  1444  	 * the last minute of suspend_vq. This caters for userspace
3176e974a750d6 Si-Wei Liu 2020-10-01  1445  	 * that cares about emulating the index after vq is stopped.
3176e974a750d6 Si-Wei Liu 2020-10-01  1446  	 */
3176e974a750d6 Si-Wei Liu 2020-10-01  1447  	if (!mvq->initialized) {
bc04d93ea30a0a Eli Cohen  2021-04-08  1448  		/* Firmware returns a wrong value for the available index.
bc04d93ea30a0a Eli Cohen  2021-04-08  1449  		 * Since both values should be identical, we take the value of
bc04d93ea30a0a Eli Cohen  2021-04-08  1450  		 * used_idx which is reported correctly.
bc04d93ea30a0a Eli Cohen  2021-04-08  1451  		 */
bc04d93ea30a0a Eli Cohen  2021-04-08 @1452  		state->avail_index = mvq->used_idx;
3176e974a750d6 Si-Wei Liu 2020-10-01  1453  		return 0;
3176e974a750d6 Si-Wei Liu 2020-10-01  1454  	}
1a86b377aa2147 Eli Cohen  2020-08-04  1455  
1a86b377aa2147 Eli Cohen  2020-08-04  1456  	err = query_virtqueue(ndev, mvq, &attr);
1a86b377aa2147 Eli Cohen  2020-08-04  1457  	if (err) {
1a86b377aa2147 Eli Cohen  2020-08-04  1458  		mlx5_vdpa_warn(mvdev, "failed to query virtqueue\n");
1a86b377aa2147 Eli Cohen  2020-08-04  1459  		return err;
1a86b377aa2147 Eli Cohen  2020-08-04  1460  	}
bc04d93ea30a0a Eli Cohen  2021-04-08  1461  	state->avail_index = attr.used_index;
1a86b377aa2147 Eli Cohen  2020-08-04  1462  	return 0;
1a86b377aa2147 Eli Cohen  2020-08-04  1463  }
1a86b377aa2147 Eli Cohen  2020-08-04  1464  

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

Attachment: .config.gz
Description: application/gzip

_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux