qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] vhost: Use vbus var instead of VIRTIO_BUS() mac


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH] vhost: Use vbus var instead of VIRTIO_BUS() macro
Date: Wed, 9 Nov 2016 16:54:57 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0


On 09/11/2016 16:47, Michael S. Tsirkin wrote:
> On Wed, Nov 09, 2016 at 02:22:42PM +0100, Paolo Bonzini wrote:
>>
>>
>> On 09/11/2016 14:18, Felipe Franciosi wrote:
>>> Recent changes on vhost_dev_enable/disable_notifiers() produced a
>>> VirtioBusState vbus variable which can be used instead of the
>>> VIRTIO_BUS() macro. This commit just makes the code a little bit cleaner
>>> and more consistent.
>>>
>>> Signed-off-by: Felipe Franciosi <address@hidden>
>>
>> Michael, what do you think?  Perhaps it's simplest to just squash the
>> two patches (v2 of "vhost: Update 'ioeventfd_started' with host
>> notifiers" and this one).
>>
>> Paolo
> 
> I think I'll apply both but why bother squashing?

Just because

    VIRTIO_BUS(qbus)->ioeventfd_started = true;

from the first patch is ugly. :)

Paolo

>>> ---
>>>  hw/virtio/vhost.c | 14 ++++++--------
>>>  1 file changed, 6 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
>>> index 1290963..7d29dad 100644
>>> --- a/hw/virtio/vhost.c
>>> +++ b/hw/virtio/vhost.c
>>> @@ -1198,20 +1198,18 @@ int vhost_dev_enable_notifiers(struct vhost_dev 
>>> *hdev, VirtIODevice *vdev)
>>>  
>>>      virtio_device_stop_ioeventfd(vdev);
>>>      for (i = 0; i < hdev->nvqs; ++i) {
>>> -        r = virtio_bus_set_host_notifier(VIRTIO_BUS(qbus), hdev->vq_index 
>>> + i,
>>> -                                         true);
>>> +        r = virtio_bus_set_host_notifier(vbus, hdev->vq_index + i, true);
>>>          if (r < 0) {
>>>              error_report("vhost VQ %d notifier binding failed: %d", i, -r);
>>>              goto fail_vq;
>>>          }
>>>      }
>>> -    VIRTIO_BUS(qbus)->ioeventfd_started = true;
>>> +    vbus->ioeventfd_started = true;
>>>  
>>>      return 0;
>>>  fail_vq:
>>>      while (--i >= 0) {
>>> -        e = virtio_bus_set_host_notifier(VIRTIO_BUS(qbus), hdev->vq_index 
>>> + i,
>>> -                                         false);
>>> +        e = virtio_bus_set_host_notifier(vbus, hdev->vq_index + i, false);
>>>          if (e < 0) {
>>>              error_report("vhost VQ %d notifier cleanup error: %d", i, -r);
>>>          }
>>> @@ -1230,17 +1228,17 @@ fail:
>>>  void vhost_dev_disable_notifiers(struct vhost_dev *hdev, VirtIODevice 
>>> *vdev)
>>>  {
>>>      BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(vdev)));
>>> +    VirtioBusState *vbus = VIRTIO_BUS(qbus);
>>>      int i, r;
>>>  
>>>      for (i = 0; i < hdev->nvqs; ++i) {
>>> -        r = virtio_bus_set_host_notifier(VIRTIO_BUS(qbus), hdev->vq_index 
>>> + i,
>>> -                                         false);
>>> +        r = virtio_bus_set_host_notifier(vbus, hdev->vq_index + i, false);
>>>          if (r < 0) {
>>>              error_report("vhost VQ %d notifier cleanup failed: %d", i, -r);
>>>          }
>>>          assert (r >= 0);
>>>      }
>>> -    VIRTIO_BUS(qbus)->ioeventfd_started = false;
>>> +    vbus->ioeventfd_started = false;
>>>      virtio_device_start_ioeventfd(vdev);
>>>  }
>>>  
>>>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]