From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:38723) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TiDFO-00073e-4i for qemu-devel@nongnu.org; Mon, 10 Dec 2012 18:58:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TiDFM-0007jL-OM for qemu-devel@nongnu.org; Mon, 10 Dec 2012 18:58:54 -0500 Received: from ozlabs.org ([203.10.76.45]:43463) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TiDFM-0007jC-DJ for qemu-devel@nongnu.org; Mon, 10 Dec 2012 18:58:52 -0500 From: Rusty Russell In-Reply-To: <87r4myhu1g.fsf@codemonkey.ws> References: <87624iikcw.fsf@rustcorp.com.au> <87zk1uca8z.fsf@elfo.mitica> <87r4n5h0fx.fsf@rustcorp.com.au> <20121205110807.GA10045@redhat.com> <87obi7g1k5.fsf@rustcorp.com.au> <20121206080221.GC10837@redhat.com> <87hanyg37l.fsf@rustcorp.com.au> <87r4myhu1g.fsf@codemonkey.ws> Date: Tue, 11 Dec 2012 10:24:45 +1030 Message-ID: <87hantcvju.fsf@rustcorp.com.au> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: [Qemu-devel] [PATCH] virtio: verify that all outstanding buffers are flushed (was Re: vmstate conversion for virtio?) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori , "Michael S. Tsirkin" Cc: David Gibson , QEMU-devel , quintela@redhat.com Anthony Liguori writes: > Rusty Russell writes: > >> "Michael S. Tsirkin" writes: >> >> No, because I don't understand it. Is it true for the case of >> virtio_blk, which has outstanding requests? >> >>>> Currently we dump a massive structure; it's inelegant at the very >>>> least. > > Inelegant is a kind word.. > > There's a couple things to consider though which is why this code hasn't > changed so far. > > 1) We're writing native endian values to the wire. This is seriously > broken. Just imagine trying to migrate from qemu-system-i386 on an > big endian box to a little endian box. > > 2) Fixing (1) either means (a) breaking migration across the board > gracefully or (b) breaking migration on [big|little] endian hosts in > an extremely ungraceful way. > > 3) We send a ton of crap over the wire that is unnecessary, but we need > to maintain it. > > I wrote up a patch series to try to improve the situation that I'll send > out. I haven't gotten around to testing it with an older version of > QEMU yet. > > I went for 2.b and choose to break big endian hosts. Since we only actually want to save the descriptor head, I was planning on a new format version. That will fix both... Look forward to your patch, Rusty.