[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <be2dd73d-7394-20d0-fa2b-652fdaa5700f@redhat.com>
Date: Thu, 7 Apr 2022 14:19:00 +0800
From: Jason Wang <jasowang@...hat.com>
To: "Michael S. Tsirkin" <mst@...hat.com>
Cc: virtualization@...ts.linux-foundation.org,
linux-kernel@...r.kernel.org, maz@...nel.org, tglx@...utronix.de,
peterz@...radead.org, sgarzare@...hat.com,
"Paul E. McKenney" <paulmck@...nel.org>
Subject: Re: [PATCH V2 1/5] virtio: use virtio_device_ready() in
virtio_device_restore()
在 2022/4/6 下午7:44, Michael S. Tsirkin 写道:
> patch had wrong mime type. I managed to extra it but pls fix.
>
>>
>> From: Stefano Garzarella <sgarzare@...hat.com>
>>
>> It will allows us
> will allow us
>
>> to do extension on virtio_device_ready() without
>> duplicating codes.
> code
>
>> Cc: Thomas Gleixner <tglx@...utronix.de>
>> Cc: Peter Zijlstra <peterz@...radead.org>
>> Cc: "Paul E. McKenney" <paulmck@...nel.org>
>> Cc: Marc Zyngier <maz@...nel.org>
>> Signed-off-by: Stefano Garzarella <sgarzare@...hat.com>
>> Signed-off-by: Jason Wang <jasowang@...hat.com>
>> ---
>> drivers/virtio/virtio.c | 5 +++--
>> 1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c
>> index 22f15f444f75..75c8d560bbd3 100644
>> --- a/drivers/virtio/virtio.c
>> +++ b/drivers/virtio/virtio.c
>> @@ -526,8 +526,9 @@ int virtio_device_restore(struct virtio_device *dev)
>> goto err;
>> }
>>
>> - /* Finally, tell the device we're all set */
>> - virtio_add_status(dev, VIRTIO_CONFIG_S_DRIVER_OK);
>> + /* If restore didn't do it, mark device DRIVER_OK ourselves. */
>> + if (!(dev->config->get_status(dev) & VIRTIO_CONFIG_S_DRIVER_OK))
>> + virtio_device_ready(dev);
>>
>> virtio_config_enable(dev);
> it's unfortunate that this adds an extra vmexit since virtio_device_ready
> calls get_status too.
>
> We now have:
>
> static inline
> void virtio_device_ready(struct virtio_device *dev)
> {
> unsigned status = dev->config->get_status(dev);
>
> BUG_ON(status & VIRTIO_CONFIG_S_DRIVER_OK);
> dev->config->set_status(dev, status | VIRTIO_CONFIG_S_DRIVER_OK);
> }
>
>
> I propose adding a helper and putting common code there.
Ok, let me fix it.
Thanks
>
>>
>> --
>> 2.25.1
Powered by blists - more mailing lists