[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 3/8] virtio: Add support for guest setting of
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH v2 3/8] virtio: Add support for guest setting of queue size |
Date: |
Thu, 25 Jul 2013 15:38:30 +0300 |
On Thu, Jul 25, 2013 at 01:30:15PM +0100, Peter Maydell wrote:
> On 25 July 2013 10:03, Michael S. Tsirkin <address@hidden> wrote:
> > On Thu, Jul 25, 2013 at 09:50:21AM +0100, Peter Maydell wrote:
> >> On 25 July 2013 06:38, Michael S. Tsirkin <address@hidden> wrote:
> >> > Probably needs to go back to default value on reset?
> >>
> >> Tricky, since the default value is "whatever was passed to
> >> virtio_add_queue()" and we don't save that anywhere.
> >>
> >> For virtio-mmio it is a guest bug to fail to write to the
> >> QueueNum register, so the current behaviour is not out of
> >> specification (and not harmful either AFAICT).
> >
> > Best not to leak info across reboots.
> > Also if guest sets num = 0 it will cause all kind of
> > harm, no?
> >
> >> I guess we could add a vring.defaultnum, which would be
> >> set by virtio_add_queue/virtio_del_queue, and have reset
> >> copy defaultnum into num. No migration needed for defaultnum
> >> because it's always the same for a particular qemu config.
>
> So I had a look at implementing this, and I noticed that
> we already have some odd behaviour on reset. Specifically,
> virtio backends like net can create virtio queues based on
> guest behaviour (ie setting feature bits). But on reset,
> these queues aren't deleted, so a post-reset QEMU will look
> different from a from-scratch restarted QEMU...
That's a bug. Thanks for the report. :)
> This in turn makes 'save defaultnum and have reset copy it
> into num' awkward, because defaultnum now needs to be
> migrated (otherwise it would do the wrong thing on a reset
> after a VM migration).
>
> -- PMM
Looks like we'll have to fix the bug first :(
- Re: [Qemu-devel] [PATCH v2 1/8] device_tree: Add qemu_devtree_setprop_sized_cells() utility functions, (continued)
[Qemu-devel] [PATCH v2 3/8] virtio: Add support for guest setting of queue size, Peter Maydell, 2013/07/12
[Qemu-devel] [PATCH v2 5/8] virtio: Implement MMIO based virtio transport, Peter Maydell, 2013/07/12
[Qemu-devel] [PATCH v2 7/8] vexpress: Make VEDBoardInfo extend arm_boot_info, Peter Maydell, 2013/07/12
[Qemu-devel] [PATCH v2 2/8] arm/boot: Use qemu_devtree_setprop_sized_cells(), Peter Maydell, 2013/07/12