Re: [PATCH kvmtool 00/13] Implement reset of virtio devices

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

 




On 05/12/18 08:21, Gerd Hoffmann wrote:
> On Tue, Dec 04, 2018 at 11:08:33AM +0000, Julien Thierry wrote:
>> Hi,
>>
>> This series was developped by Jean-Philippe and is needed for a series
>> I'll be posting shortly after to load firmwares on arm kvmtool.
>>
>> Currently, when a guest tries to reset a device, a lot of ressources
>> aren't reset (threads keep running, virtio queue keep their state, etc).
>>
>> When the guest only does the reset to initialize the device and there
>> were no previous users, there is no noticeable issue. But when a guest
>> has a firmare + Linux, if the firmware uses a virtio device, Linux will
>> fail to probe that device.
>>
>> This series aim to properly reset the virtio resources when the guests
>> requests it.
>>
>> Reset of net vhost is unsupported for now.
>>
>> Patch 1 is a bug fix on ioeventfd
>> Patch 2-6 provide the core support so devices can implement their reset
>> Patch 7-13 implements the reset for the various virtio devices
> 
> Fails to build:
> 
> kraxel@sirius ~/projects/kvmtool (virtio)# make 
> Makefile:323: Skipping optional libraries: vncserver
>   CC       virtio/core.o
> In file included from virtio/core.c:8:0:
> virtio/core.c: In function ‘virtio_notify_status’:
> include/kvm/virtio.h:37:3: error: ‘VIRTIO_CONFIG_S_NEEDS_RESET’
> undeclared (first use in this function)
>    VIRTIO_CONFIG_S_NEEDS_RESET | \
>    ^
> virtio/core.c:232:19: note: in expansion of macro ‘VIRTIO_CONFIG_S_MASK’
>   vdev->status &= ~VIRTIO_CONFIG_S_MASK;
> 
> Yes, it is an older machine (rhel-7), VIRTIO_CONFIG_S_NEEDS_RESET isn't
> in the system headers (IIRC this bit was added with virtio-1.0).
> 

Thanks for reporting the issue. I think this series was initially
developed with the intent of supporting virtio-1.0 but then reset and
virtio-1.0 were split into two series.

I think here I can just remove that bit from the config mask while
virtio-1.0 is not supported, and things should work.

Thanks,

-- 
Julien Thierry



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux