From: "Michael S. Tsirkin" Subject: Re: [Qemu-devel] [PATCH 05/11] qemu: MSI-X support functions Date: Wed, 10 Jun 2009 19:26:44 +0300 Message-ID: <20090610162644.GJ28601@redhat.com> References: <200906101615.12956.paul@codesourcery.com> <20090610155238.GH28601@redhat.com> <200906101708.27815.paul@codesourcery.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: qemu-devel@nongnu.org, Carsten Otte , kvm@vger.kernel.org, Rusty Russell , virtualization@lists.linux-foundation.org, Blue Swirl , Christian Borntraeger , Avi Kivity To: Paul Brook Return-path: Received: from mx2.redhat.com ([66.187.237.31]:42016 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754858AbZFJQaR (ORCPT ); Wed, 10 Jun 2009 12:30:17 -0400 Content-Disposition: inline In-Reply-To: <200906101708.27815.paul@codesourcery.com> Sender: kvm-owner@vger.kernel.org List-ID: On Wed, Jun 10, 2009 at 05:08:15PM +0100, Paul Brook wrote: > On Wednesday 10 June 2009, Michael S. Tsirkin wrote: > > On Wed, Jun 10, 2009 at 04:15:04PM +0100, Paul Brook wrote: > > > > > That's seems just plain wrong to me. > > > > > Loading a VM shouldn't not > > > > > do anything that can't happen during normal operation. > > > > > > > > At least wrt pci, we are very far from this state: load just overwrites > > > > all registers, readonly or not, which can never happen during normal > > > > operation. > > > > > > IMO that code is wrong. We should only be loading things that the guest > > > can change (directly or indirectly). > > > > Making it work this way will mean that minor changes to a device can > > break backwards compatibility with old images, often in surprising ways. > > What are the advantages? > > If you can't create an identical machine from scratch then I don't consider > snapshot/migration to be a useful feature. i.e. as soon as you shutdown and > restart the guest it is liable to break anyway. Why is liable to break? Configuration does not change until you load another image. Look here: void msix_reset(PCIDevice *dev) { if (!(dev->cap_present & QEMU_PCI_CAP_MSIX)) return; ... } So once you load and image with MSIX capability off, it will stay off across guest restarts. > It may be that the snapshot/migration code wants to include a machine config, > and create a new machine from that. However this is a separate issue, and > arguably something your VM manager should be handling for you. > > Paul Since the image already has a necessary information, duplicating it in a separate machine config will just lead to errors. -- MST