From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35078) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V2KnS-0006Rq-QE for qemu-devel@nongnu.org; Thu, 25 Jul 2013 08:37:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V2KnN-0003UP-TZ for qemu-devel@nongnu.org; Thu, 25 Jul 2013 08:37:30 -0400 Received: from mx1.redhat.com ([209.132.183.28]:60083) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V2KnN-0003UE-Ix for qemu-devel@nongnu.org; Thu, 25 Jul 2013 08:37:25 -0400 Date: Thu, 25 Jul 2013 15:38:30 +0300 From: "Michael S. Tsirkin" Message-ID: <20130725123830.GA403@redhat.com> References: <1373661422-23606-1-git-send-email-peter.maydell@linaro.org> <1373661422-23606-4-git-send-email-peter.maydell@linaro.org> <20130725053841.GA15500@redhat.com> <20130725090317.GA26648@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [PATCH v2 3/8] virtio: Add support for guest setting of queue size List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: Anthony Liguori , patches@linaro.org, Jason Wang , Alexander Graf , qemu-devel@nongnu.org, kvmarm@lists.cs.columbia.edu, David Gibson On Thu, Jul 25, 2013 at 01:30:15PM +0100, Peter Maydell wrote: > On 25 July 2013 10:03, Michael S. Tsirkin wrote: > > On Thu, Jul 25, 2013 at 09:50:21AM +0100, Peter Maydell wrote: > >> On 25 July 2013 06:38, Michael S. Tsirkin 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 :(