Si-Wei Liu
2022-Jan-11 02:02 UTC
[PATCH v7 00/14] Allow for configuring max number of virtqueue pairs
On 1/9/2022 11:49 PM, Eli Cohen wrote:> On Mon, Jan 10, 2022 at 02:04:32AM -0500, Michael S. Tsirkin wrote: >> On Wed, Jan 05, 2022 at 01:46:32PM +0200, Eli Cohen wrote: >>> Allow the user to configure the max number of virtqueue pairs for a vdpa >>> instance. The user can then control the actual number of virtqueue pairs >>> using ethtool. >> So I put a version of this in linux-next, but I had to squash in >> some bugfixes, and resolve some conflicts. Eli, please take a look >> and let me know whether it looks sane. If not pls post a new >> version. > I see you squashed two fixes. > There was one more comment from Si-Wei which I addressed by sending a > distinct patch titled "vdpa: Protect vdpa reset with cf_mutex".Sorry, but I did not see this new patch that addressed reset. Please copy me when you get it (re-)posted. -Siwei> > It was not reviewed yet but maybe you can squash it on patch 0005 after > it has been reviewed. > >> Jason, what is your take on merging this now? Si-wei here seems to want >> to defer, but OTOH it's up to v7 already, most patches are acked and >> most comments look like minor improvement suggestions to me. >> >>> Example, set number of VQPs to 2: >>> $ ethtool -L ens1 combined 2 >>> >>> A user can check the max supported virtqueues for a management device by >>> running: >>> >>> $ $ vdpa mgmtdev show >>> auxiliary/mlx5_core.sf.1: >>> supported_classes net >>> max_supported_vqs 257 >>> dev_features CSUM GUEST_CSUM MTU HOST_TSO4 HOST_TSO6 STATUS CTRL_VQ MQ \ >>> CTRL_MAC_ADDR VERSION_1 ACCESS_PLATFORM >>> >>> and refer to this value when adding a device. >>> >>> To create a device with a max of 5 VQPs: >>> vdpa dev add name vdpa-a mgmtdev auxiliary/mlx5_core.sf.1 max_vqp 5 >>> >>> Please note that for patches that were changed I removed "Reviewed-by" >>> and "Acked-by". >>> >>> v6 -> v7: >>> 1. Make use of cf_mutex for serializing netlink set/get with other >>> calls. >>> 2. Some fixes (See in each patch) >>> 3. Add patch for vdpa_sim to report supported features >>> 4. "Reviewed-by" and "Acked-by" removed from patch 0007 since it had >>> slightly changed. >>> >>> Eli Cohen (14): >>> vdpa: Provide interface to read driver features >>> vdpa/mlx5: Distribute RX virtqueues in RQT object >>> vdpa: Sync calls set/get config/status with cf_mutex >>> vdpa: Read device configuration only if FEATURES_OK >>> vdpa: Allow to configure max data virtqueues >>> vdpa/mlx5: Fix config_attr_mask assignment >>> vdpa/mlx5: Support configuring max data virtqueue >>> vdpa: Add support for returning device configuration information >>> vdpa/mlx5: Restore cur_num_vqs in case of failure in change_num_qps() >>> vdpa: Support reporting max device capabilities >>> vdpa/mlx5: Report max device capabilities >>> vdpa/vdpa_sim: Configure max supported virtqueues >>> vdpa: Use BIT_ULL for bit operations >>> vdpa/vdpa_sim_net: Report max device capabilities >>> >>> drivers/vdpa/alibaba/eni_vdpa.c | 16 +++- >>> drivers/vdpa/ifcvf/ifcvf_main.c | 16 +++- >>> drivers/vdpa/mlx5/net/mlx5_vnet.c | 134 ++++++++++++++++----------- >>> drivers/vdpa/vdpa.c | 100 ++++++++++++++++---- >>> drivers/vdpa/vdpa_sim/vdpa_sim.c | 21 +++-- >>> drivers/vdpa/vdpa_sim/vdpa_sim_net.c | 2 + >>> drivers/vdpa/vdpa_user/vduse_dev.c | 16 +++- >>> drivers/vdpa/virtio_pci/vp_vdpa.c | 16 +++- >>> drivers/vhost/vdpa.c | 11 +-- >>> drivers/virtio/virtio_vdpa.c | 7 +- >>> include/linux/vdpa.h | 36 +++++-- >>> include/uapi/linux/vdpa.h | 6 ++ >>> 12 files changed, 271 insertions(+), 110 deletions(-) >>> >>> -- >>> 2.34.1