Message ID | 1547129570-14351-1-git-send-email-julien.thierry@arm.com (mailing list archive) |
---|---|
Headers | show |
Series | Implement reset of virtio devices | expand |
On Thu, Jan 10, 2019 at 02:12:37PM +0000, Julien Thierry wrote: > 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 Cheers, I'll pick this up. There's a vague comment in patch 10 about aio being busted. If that's the case then we should either fix it or remove it... Will
On 22/01/2019 07:07, Will Deacon wrote: > On Thu, Jan 10, 2019 at 02:12:37PM +0000, Julien Thierry wrote: >> 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 > > Cheers, I'll pick this up. There's a vague comment in patch 10 about aio > being busted. If that's the case then we should either fix it or remove > it... Thanks! I think my main concern with aio was that the iocb structures are allocated on the stack, and get trashed after io_submit(). The aio man says that control block should remain valid until the I/O completes (which might still apply even if we're using raw iocb instead of aiocb - I can't find where the kernel copies those buffers). I'll take a better look and implement reset if possible. Thanks, Jean