mbox series

[V3,0/6] Conditionally read fields in dev cfg space

Message ID 20220929014555.112323-1-lingshan.zhu@intel.com (mailing list archive)
Headers show
Series Conditionally read fields in dev cfg space | expand

Message

Zhu, Lingshan Sept. 29, 2022, 1:45 a.m. UTC
This series intends to read the fields in virtio-net device
configuration space conditionally on the feature bits,
this means:

MTU exists if VIRTIO_NET_F_MTU is set
MAC exists if VIRTIO_NET_F_NET is set
MQ exists if VIRTIO_NET_F_MQ or VIRTIO_NET_F_RSS is set.

This series report device features to userspace and invokes
vdpa_config_ops.get_config() rather than
vdpa_get_config_unlocked() to read the device config spcae,
so no races in vdpa_set_features_unlocked()

Thanks!

Changes form V2:
remove unnacessary checking for vdev->config->get_status (Jason)

Changes from V1:
1)Better comments for VDPA_ATTR_VDPA_DEV_SUPPORTED_FEATURES,
only in the header file(Jason)
2)Split original 3/4 into separate patches(Jason)
3)Check FEATURES_OK for reporting driver features
in vdpa_dev_config_fill (Jason)
4) Add iproute2 example for reporting device features

Zhu Lingshan (6):
  vDPA: allow userspace to query features of a vDPA device
  vDPA: only report driver features if FEATURES_OK is set
  vDPA: check VIRTIO_NET_F_RSS for max_virtqueue_paris's presence
  vDPA: check virtio device features to detect MQ
  vDPA: fix spars cast warning in vdpa_dev_net_mq_config_fill
  vDPA: conditionally read MTU and MAC in dev cfg space

 drivers/vdpa/vdpa.c       | 68 ++++++++++++++++++++++++++++++---------
 include/uapi/linux/vdpa.h |  4 +++
 2 files changed, 56 insertions(+), 16 deletions(-)

Comments

Zhu, Lingshan Sept. 29, 2022, 7:23 a.m. UTC | #1
Hi Michael,

Jason starts his vacation this afternoon, and next week is our national 
holiday.
He has acked 3 ~ 6 of this series before, and I have made improvements 
based on his comments.
Do you have any comments on patches 1 and 2?

Thanks,
Zhu Lingshan
On 9/29/2022 9:45 AM, Zhu Lingshan wrote:
> This series intends to read the fields in virtio-net device
> configuration space conditionally on the feature bits,
> this means:
>
> MTU exists if VIRTIO_NET_F_MTU is set
> MAC exists if VIRTIO_NET_F_NET is set
> MQ exists if VIRTIO_NET_F_MQ or VIRTIO_NET_F_RSS is set.
>
> This series report device features to userspace and invokes
> vdpa_config_ops.get_config() rather than
> vdpa_get_config_unlocked() to read the device config spcae,
> so no races in vdpa_set_features_unlocked()
>
> Thanks!
>
> Changes form V2:
> remove unnacessary checking for vdev->config->get_status (Jason)
>
> Changes from V1:
> 1)Better comments for VDPA_ATTR_VDPA_DEV_SUPPORTED_FEATURES,
> only in the header file(Jason)
> 2)Split original 3/4 into separate patches(Jason)
> 3)Check FEATURES_OK for reporting driver features
> in vdpa_dev_config_fill (Jason)
> 4) Add iproute2 example for reporting device features
>
> Zhu Lingshan (6):
>    vDPA: allow userspace to query features of a vDPA device
>    vDPA: only report driver features if FEATURES_OK is set
>    vDPA: check VIRTIO_NET_F_RSS for max_virtqueue_paris's presence
>    vDPA: check virtio device features to detect MQ
>    vDPA: fix spars cast warning in vdpa_dev_net_mq_config_fill
>    vDPA: conditionally read MTU and MAC in dev cfg space
>
>   drivers/vdpa/vdpa.c       | 68 ++++++++++++++++++++++++++++++---------
>   include/uapi/linux/vdpa.h |  4 +++
>   2 files changed, 56 insertions(+), 16 deletions(-)
>
Michael S. Tsirkin Sept. 29, 2022, 7:38 a.m. UTC | #2
On Thu, Sep 29, 2022 at 03:23:46PM +0800, Zhu, Lingshan wrote:
> Hi Michael,
> 
> Jason starts his vacation this afternoon, and next week is our national
> holiday.
> He has acked 3 ~ 6 of this series before, and I have made improvements based
> on his comments.
> Do you have any comments on patches 1 and 2?


No, I'll merge for next.

> Thanks,
> Zhu Lingshan
> On 9/29/2022 9:45 AM, Zhu Lingshan wrote:
> > This series intends to read the fields in virtio-net device
> > configuration space conditionally on the feature bits,
> > this means:
> > 
> > MTU exists if VIRTIO_NET_F_MTU is set
> > MAC exists if VIRTIO_NET_F_NET is set
> > MQ exists if VIRTIO_NET_F_MQ or VIRTIO_NET_F_RSS is set.
> > 
> > This series report device features to userspace and invokes
> > vdpa_config_ops.get_config() rather than
> > vdpa_get_config_unlocked() to read the device config spcae,
> > so no races in vdpa_set_features_unlocked()
> > 
> > Thanks!
> > 
> > Changes form V2:
> > remove unnacessary checking for vdev->config->get_status (Jason)
> > 
> > Changes from V1:
> > 1)Better comments for VDPA_ATTR_VDPA_DEV_SUPPORTED_FEATURES,
> > only in the header file(Jason)
> > 2)Split original 3/4 into separate patches(Jason)
> > 3)Check FEATURES_OK for reporting driver features
> > in vdpa_dev_config_fill (Jason)
> > 4) Add iproute2 example for reporting device features
> > 
> > Zhu Lingshan (6):
> >    vDPA: allow userspace to query features of a vDPA device
> >    vDPA: only report driver features if FEATURES_OK is set
> >    vDPA: check VIRTIO_NET_F_RSS for max_virtqueue_paris's presence
> >    vDPA: check virtio device features to detect MQ
> >    vDPA: fix spars cast warning in vdpa_dev_net_mq_config_fill
> >    vDPA: conditionally read MTU and MAC in dev cfg space
> > 
> >   drivers/vdpa/vdpa.c       | 68 ++++++++++++++++++++++++++++++---------
> >   include/uapi/linux/vdpa.h |  4 +++
> >   2 files changed, 56 insertions(+), 16 deletions(-)
> >
Zhu, Lingshan Sept. 29, 2022, 7:46 a.m. UTC | #3
On 9/29/2022 3:38 PM, Michael S. Tsirkin wrote:
> On Thu, Sep 29, 2022 at 03:23:46PM +0800, Zhu, Lingshan wrote:
>> Hi Michael,
>>
>> Jason starts his vacation this afternoon, and next week is our national
>> holiday.
>> He has acked 3 ~ 6 of this series before, and I have made improvements based
>> on his comments.
>> Do you have any comments on patches 1 and 2?
>
> No, I'll merge for next.
Thanks!
>
>> Thanks,
>> Zhu Lingshan
>> On 9/29/2022 9:45 AM, Zhu Lingshan wrote:
>>> This series intends to read the fields in virtio-net device
>>> configuration space conditionally on the feature bits,
>>> this means:
>>>
>>> MTU exists if VIRTIO_NET_F_MTU is set
>>> MAC exists if VIRTIO_NET_F_NET is set
>>> MQ exists if VIRTIO_NET_F_MQ or VIRTIO_NET_F_RSS is set.
>>>
>>> This series report device features to userspace and invokes
>>> vdpa_config_ops.get_config() rather than
>>> vdpa_get_config_unlocked() to read the device config spcae,
>>> so no races in vdpa_set_features_unlocked()
>>>
>>> Thanks!
>>>
>>> Changes form V2:
>>> remove unnacessary checking for vdev->config->get_status (Jason)
>>>
>>> Changes from V1:
>>> 1)Better comments for VDPA_ATTR_VDPA_DEV_SUPPORTED_FEATURES,
>>> only in the header file(Jason)
>>> 2)Split original 3/4 into separate patches(Jason)
>>> 3)Check FEATURES_OK for reporting driver features
>>> in vdpa_dev_config_fill (Jason)
>>> 4) Add iproute2 example for reporting device features
>>>
>>> Zhu Lingshan (6):
>>>     vDPA: allow userspace to query features of a vDPA device
>>>     vDPA: only report driver features if FEATURES_OK is set
>>>     vDPA: check VIRTIO_NET_F_RSS for max_virtqueue_paris's presence
>>>     vDPA: check virtio device features to detect MQ
>>>     vDPA: fix spars cast warning in vdpa_dev_net_mq_config_fill
>>>     vDPA: conditionally read MTU and MAC in dev cfg space
>>>
>>>    drivers/vdpa/vdpa.c       | 68 ++++++++++++++++++++++++++++++---------
>>>    include/uapi/linux/vdpa.h |  4 +++
>>>    2 files changed, 56 insertions(+), 16 deletions(-)
>>>