All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Zhu, Lingshan" <lingshan.zhu@intel.com>
To: Jason Wang <jasowang@redhat.com>
Cc: mst <mst@redhat.com>,
	virtualization <virtualization@lists.linux-foundation.org>,
	netdev <netdev@vger.kernel.org>
Subject: Re: [PATCH 4/6] vDPA: !FEATURES_OK should not block querying device config space
Date: Mon, 6 Jun 2022 16:19:52 +0800	[thread overview]
Message-ID: <c644798b-7894-0a40-c64b-1eedf38ded49@intel.com> (raw)
In-Reply-To: <CACGkMEtzHB9e9fgQ=t9vT1iz6A9t46hsEMmpHghQSTSfhr7kuw@mail.gmail.com>



On 6/2/2022 3:36 PM, Jason Wang wrote:
> On Thu, Jun 2, 2022 at 10:48 AM Zhu Lingshan <lingshan.zhu@intel.com> wrote:
>> Users may want to query the config space of a vDPA device,
>> to choose a appropriate one for a certain guest. This means the
>> users need to read the config space before FEATURES_OK, and
>> the existence of config space contents does not depend on
>> FEATURES_OK.
> Quotes from the spec:
>
> "The device MUST allow reading of any device-specific configuration
> field before FEATURES_OK is set by the driver. This includes fields
> which are conditional on feature bits, as long as those feature bits
> are offered by the device."
>
>> This commit removes FEATURES_OK blocker in vdpa_dev_config_fill()
>> which calls vdpa_dev_net_config_fill() for virtio-net
>>
>> Signed-off-by: Zhu Lingshan <lingshan.zhu@intel.com>
>> ---
>>   drivers/vdpa/vdpa.c | 8 --------
>>   1 file changed, 8 deletions(-)
>>
>> diff --git a/drivers/vdpa/vdpa.c b/drivers/vdpa/vdpa.c
>> index c820dd2b0307..030d96bdeed2 100644
>> --- a/drivers/vdpa/vdpa.c
>> +++ b/drivers/vdpa/vdpa.c
>> @@ -863,17 +863,9 @@ vdpa_dev_config_fill(struct vdpa_device *vdev, struct sk_buff *msg, u32 portid,
>>   {
>>          u32 device_id;
>>          void *hdr;
>> -       u8 status;
>>          int err;
>>
>>          mutex_lock(&vdev->cf_mutex);
>> -       status = vdev->config->get_status(vdev);
>> -       if (!(status & VIRTIO_CONFIG_S_FEATURES_OK)) {
>> -               NL_SET_ERR_MSG_MOD(extack, "Features negotiation not completed");
>> -               err = -EAGAIN;
>> -               goto out;
>> -       }
> So we had the following in vdpa_dev_net_config_fill():
>
>          features = vdev->config->get_driver_features(vdev);
>          if (nla_put_u64_64bit(msg, VDPA_ATTR_DEV_NEGOTIATED_FEATURES, features,
>                                VDPA_ATTR_PAD))
>                  return -EMSGSIZE;
>
> It looks to me we need to switch to using get_device_features() instead.
This is done in the 3/6 patch

Thanks,
ZHu Lingshan
>
> Thanks
>
>> -
>>          hdr = genlmsg_put(msg, portid, seq, &vdpa_nl_family, flags,
>>                            VDPA_CMD_DEV_CONFIG_GET);
>>          if (!hdr) {
>> --
>> 2.31.1
>>


  reply	other threads:[~2022-06-06  8:20 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-02  2:38 [PATCH 0/6] ifcvf/vDPA: support query device config space through netlink Zhu Lingshan
2022-06-02  2:38 ` [PATCH 1/6] vDPA/ifcvf: get_config_size should return a value no greater than dev implementation Zhu Lingshan
2022-06-02  7:11   ` Jason Wang
2022-06-02  7:11     ` Jason Wang
2022-06-06  8:17     ` Zhu, Lingshan
2022-06-02  2:38 ` [PATCH 2/6] vDPA/ifcvf: support userspace to query features and MQ of a management device Zhu Lingshan
2022-06-02  7:21   ` Jason Wang
2022-06-02  7:21     ` Jason Wang
2022-06-06  8:18     ` Zhu, Lingshan
2022-06-02  2:38 ` [PATCH 3/6] vDPA/ifcvf: support userspace to query device feature bits Zhu Lingshan
2022-06-02  7:32   ` Jason Wang
2022-06-02  7:32     ` Jason Wang
2022-06-02  7:46     ` Eli Cohen
2022-06-06  8:24       ` Zhu, Lingshan
2022-06-02  2:38 ` [PATCH 4/6] vDPA: !FEATURES_OK should not block querying device config space Zhu Lingshan
2022-06-02  7:36   ` Jason Wang
2022-06-02  7:36     ` Jason Wang
2022-06-06  8:19     ` Zhu, Lingshan [this message]
2022-06-02  2:38 ` [PATCH 5/6] vDPA: answer num of queue pairs = 1 to userspace when VIRTIO_NET_F_MQ == 0 Zhu Lingshan
2022-06-02  7:38   ` Jason Wang
2022-06-02  7:38     ` Jason Wang
2022-06-06  8:21     ` Zhu, Lingshan
2022-06-07  6:14       ` Jason Wang
2022-06-07  6:14         ` Jason Wang
2022-06-07  8:40         ` Zhu, Lingshan
2022-06-02  2:38 ` [PATCH 6/6] vDPA: fix 'cast to restricted le16' warnings in vdpa_dev_net_config_fill() Zhu Lingshan
2022-06-02  7:40   ` Jason Wang
2022-06-02  7:40     ` Jason Wang
2022-06-06  8:22     ` Zhu, Lingshan
2022-06-07  6:15       ` Jason Wang
2022-06-07  6:15         ` Jason Wang
2022-06-07  6:41         ` Zhu, Lingshan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c644798b-7894-0a40-c64b-1eedf38ded49@intel.com \
    --to=lingshan.zhu@intel.com \
    --cc=jasowang@redhat.com \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=virtualization@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.