From: Si-Wei Liu <si-wei.liu@oracle.com>
To: Jason Wang <jasowang@redhat.com>
Cc: "Eugenio Pérez" <eperezma@redhat.com>,
qemu-devel <qemu-devel@nongnu.org>, "Cindy Lu" <lulu@redhat.com>,
"Eli Cohen" <eli@mellanox.com>,
"Cornelia Huck" <cohuck@redhat.com>,
"Laurent Vivier" <lvivier@redhat.com>,
Liuxiangdong <liuxiangdong5@huawei.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Zhu Lingshan" <lingshan.zhu@intel.com>,
"Harpreet Singh Anand" <hanand@xilinx.com>,
"Stefan Hajnoczi" <stefanha@redhat.com>,
"Parav Pandit" <parav@mellanox.com>,
"Gautam Dawar" <gdawar@xilinx.com>,
"Stefano Garzarella" <sgarzare@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Gonglei (Arei)" <arei.gonglei@huawei.com>
Subject: Re: [PATCH 4/5] virtio-net: Update virtio-net curr_queue_pairs in vdpa backends
Date: Thu, 25 Aug 2022 20:58:00 -0700 [thread overview]
Message-ID: <bc138c4c-9295-ddcf-01d0-d6db2b32baa1@oracle.com> (raw)
In-Reply-To: <CACGkMEsuokKQiE68g0GkEGi30uSk5km96m=achrVK1DFrw77tg@mail.gmail.com>
On 8/24/2022 8:05 PM, Jason Wang wrote:
> On Thu, Aug 25, 2022 at 10:53 AM Jason Wang <jasowang@redhat.com> wrote:
>> On Thu, Aug 25, 2022 at 8:38 AM Si-Wei Liu <si-wei.liu@oracle.com> wrote:
>>>
>>>
>>> On 8/23/2022 9:27 PM, Jason Wang wrote:
>>>> 在 2022/8/20 01:13, Eugenio Pérez 写道:
>>>>> It was returned as error before. Instead of it, simply update the
>>>>> corresponding field so qemu can send it in the migration data.
>>>>>
>>>>> Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
>>>>> ---
>>>>
>>>> Looks correct.
>>>>
>>>> Adding Si Wei for double check.
>>> Hmmm, I understand why this change is needed for live migration, but
>>> this would easily cause userspace out of sync with the kernel for other
>>> use cases, such as link down or userspace fallback due to vdpa ioctl
>>> error. Yes, these are edge cases.
>> Considering 7.2 will start, maybe it's time to fix the root cause
>> instead of having a workaround like this?
> Btw, the patch actually tries its best to limit the behaviour, e.g it
> doesn't do the following set_status() stuff. So I think it won't
> trigger the issue you mentioned here?
Well, we can claim we don't support the link down+up case while changing
queue numbers in between. On the other hand, the error recovery from
fallback userspace is another story, which would need more attention and
care on the error path. Yes, if see it from that perspective the change
is fine. For completeness, please refer to the patch in the other email.
-Siwei
>
> Thanks
>
>> THanks
>>
>>> Not completely against it, but I
>>> wonder if there's a way we can limit the change scope to live migration
>>> case only?
>>>
>>> -Siwei
>>>
>>>> Thanks
>>>>
>>>>
>>>>> hw/net/virtio-net.c | 17 ++++++-----------
>>>>> 1 file changed, 6 insertions(+), 11 deletions(-)
>>>>>
>>>>> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
>>>>> index dd0d056fde..63a8332cd0 100644
>>>>> --- a/hw/net/virtio-net.c
>>>>> +++ b/hw/net/virtio-net.c
>>>>> @@ -1412,19 +1412,14 @@ static int virtio_net_handle_mq(VirtIONet *n,
>>>>> uint8_t cmd,
>>>>> return VIRTIO_NET_ERR;
>>>>> }
>>>>> - /* Avoid changing the number of queue_pairs for vdpa device in
>>>>> - * userspace handler. A future fix is needed to handle the mq
>>>>> - * change in userspace handler with vhost-vdpa. Let's disable
>>>>> - * the mq handling from userspace for now and only allow get
>>>>> - * done through the kernel. Ripples may be seen when falling
>>>>> - * back to userspace, but without doing it qemu process would
>>>>> - * crash on a recursive entry to virtio_net_set_status().
>>>>> - */
>>>>> + n->curr_queue_pairs = queue_pairs;
>>>>> if (nc->peer && nc->peer->info->type ==
>>>>> NET_CLIENT_DRIVER_VHOST_VDPA) {
>>>>> - return VIRTIO_NET_ERR;
>>>>> + /*
>>>>> + * Avoid updating the backend for a vdpa device: We're only
>>>>> interested
>>>>> + * in updating the device model queues.
>>>>> + */
>>>>> + return VIRTIO_NET_OK;
>>>>> }
>>>>> -
>>>>> - n->curr_queue_pairs = queue_pairs;
>>>>> /* stop the backend before changing the number of queue_pairs
>>>>> to avoid handling a
>>>>> * disabled queue */
>>>>> virtio_net_set_status(vdev, vdev->status);
next prev parent reply other threads:[~2022-08-26 3:59 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-19 17:13 [PATCH 0/5] Vhost-vdpa Shadow Virtqueue multiqueue support Eugenio Pérez
2022-08-19 17:13 ` [PATCH 1/5] vdpa: extract vhost_vdpa_net_load_mac from vhost_vdpa_net_load Eugenio Pérez
2022-08-24 4:18 ` Jason Wang
2022-08-19 17:13 ` [PATCH 2/5] vdpa: Add vhost_vdpa_net_load_mq Eugenio Pérez
2022-08-24 4:23 ` Jason Wang
2022-08-24 7:46 ` Eugenio Perez Martin
2022-08-24 8:52 ` Jason Wang
2022-08-24 9:06 ` Eugenio Perez Martin
2022-08-24 9:07 ` Jason Wang
2022-08-24 9:18 ` Eugenio Perez Martin
2022-08-19 17:13 ` [PATCH 3/5] vdpa: validate MQ CVQ commands Eugenio Pérez
2022-08-19 17:13 ` [PATCH 4/5] virtio-net: Update virtio-net curr_queue_pairs in vdpa backends Eugenio Pérez
2022-08-24 4:27 ` Jason Wang
2022-08-25 0:38 ` Si-Wei Liu
2022-08-25 2:53 ` Jason Wang
2022-08-25 3:05 ` Jason Wang
2022-08-26 3:58 ` Si-Wei Liu [this message]
2022-08-26 3:49 ` Si-Wei Liu
2022-08-25 6:19 ` Eugenio Perez Martin
2022-08-26 4:28 ` Si-Wei Liu
2022-08-26 8:22 ` Eugenio Perez Martin
2022-08-19 17:13 ` [PATCH 5/5] vdpa: Allow MQ feture in SVQ Eugenio Pérez
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=bc138c4c-9295-ddcf-01d0-d6db2b32baa1@oracle.com \
--to=si-wei.liu@oracle.com \
--cc=arei.gonglei@huawei.com \
--cc=cohuck@redhat.com \
--cc=eli@mellanox.com \
--cc=eperezma@redhat.com \
--cc=gdawar@xilinx.com \
--cc=hanand@xilinx.com \
--cc=jasowang@redhat.com \
--cc=lingshan.zhu@intel.com \
--cc=liuxiangdong5@huawei.com \
--cc=lulu@redhat.com \
--cc=lvivier@redhat.com \
--cc=mst@redhat.com \
--cc=parav@mellanox.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=sgarzare@redhat.com \
--cc=stefanha@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).