lkml.org 
[lkml]   [2022]   [Apr]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH V2 1/5] virtio: use virtio_device_ready() in virtio_device_restore()
From

在 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@redhat.com>
>>
>> It will allows us
> will allow us
>
>> to do extension on virtio_device_ready() without
>> duplicating codes.
> code
>
>> Cc: Thomas Gleixner <tglx@linutronix.de>
>> Cc: Peter Zijlstra <peterz@infradead.org>
>> Cc: "Paul E. McKenney" <paulmck@kernel.org>
>> Cc: Marc Zyngier <maz@kernel.org>
>> Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
>> Signed-off-by: Jason Wang <jasowang@redhat.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

\
 
 \ /
  Last update: 2022-04-07 17:29    [W:0.068 / U:0.460 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site