Michael S. Tsirkin
2022-Jan-10 07:04 UTC
[PATCH v7 00/14] Allow for configuring max number of virtqueue pairs
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. 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
Jason Wang
2022-Jan-10 07:09 UTC
[PATCH v7 00/14] Allow for configuring max number of virtqueue pairs
On Mon, Jan 10, 2022 at 3:04 PM Michael S. Tsirkin <mst at redhat.com> 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. > 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.I think we can merge them and send patches on top to fix issues if needed. Thanks> > > 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 >
Si-Wei Liu
2022-Jan-11 01:59 UTC
[PATCH v7 00/14] Allow for configuring max number of virtqueue pairs
On 1/9/2022 11:04 PM, 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. > 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.Sure, no worries. I thought maybe it's just me that cares about the completeness and correctness of this series. When I did review for v6? I also thought v7 might be the last shot, but it turned out there's outstanding comment missed to address and other issues due to last minute fix. It's definitely your call to pull it or not. I'm satisfied with all aspects of the uAPI change for this series in terms of the expectation set. If you can help fix up the needless change to API vdpa_set_features() for "[PATCH v7 05/14] vdpa: Allow to configure max data virtqueues" I would much appreciate it. Or Eli can post a fix for that together with other issues on top, given it was very easy to lose track of these similar comments during the previous rounds of my review. Thanks, -Siwei> >> 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