qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Mark McLoughlin <markmc@redhat.com>
Cc: Carsten Otte <cotte@de.ibm.com>,
	kvm@vger.kernel.org, "Michael S. Tsirkin" <mst@redhat.com>,
	Glauber Costa <glommer@redhat.com>,
	Rusty Russell <rusty@rustcorp.com.au>,
	qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org,
	Blue Swirl <blauwirbel@gmail.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Paul Brook <paul@codesourcery.com>, Avi Kivity <avi@redhat.com>
Subject: Re: Configuration vs. compat hints [was Re: [Qemu-devel] [PATCHv3 03/13] qemu: add routines to manage PCI capabilities]
Date: Fri, 12 Jun 2009 11:11:54 -0500	[thread overview]
Message-ID: <4A327E4A.7010300@codemonkey.ws> (raw)
In-Reply-To: <1244821292.30522.56.camel@blaa>

Mark McLoughlin wrote:
> On Fri, 2009-06-12 at 09:51 -0500, Anthony Liguori wrote:
>   
>> Mark McLoughlin wrote:
>>     
>>> On Wed, 2009-06-10 at 20:27 +0100, Jamie Lokier wrote:
>>>   
>>>       
>>>> Michael S. Tsirkin wrote:
>>>>     
>>>>         
>>>>>> I think the right long term answer to all this is a way to get QEMU to
>>>>>> dump it's current machine configuration in glorious detail as a file
>>>>>> which can be reloaded as a machine configuration.
>>>>>>         
>>>>>>             
>>>>> And then we'll have the same set of problems there.
>>>>>       
>>>>>           
>>>> We will, and the solution will be the same: options to create devices
>>>> as they were in older versions of QEMU.  It only needs to cover device
>>>> features which matter to guests, not every bug fix.
>>>>
>>>> However with a machine configuration which is generated by QEMU,
>>>> there's less worry about proliferation of obscure options, compared
>>>> with the command line.  You don't necessarily have to document every
>>>> backward-compatibility option in any detail, you just have to make
>>>> sure it's written and read properly, which is much the same thing as
>>>> the snapshot code does.
>>>>     
>>>>         
>>> This is a sensible plan, but I don't think we should mix these compat
>>> options in with the VM manager supplied configuration.
>>>
>>> There are two problems with that approach.
>>>
>>> = Problem 1 - VM manager needs to parse qemu config =
>>>
>>> Your proposal implies:
>>>
>>>   - VM manager supplies a basic configuration to qemu
>>>
>>>   - It then immediately asks qemu for a dump of the machine 
>>>     configuration in all its glorious detail and retains that
>>>     config
>>>
>>>   - If the VM manager wishes to add a new device it needs to parse the 
>>>     qemu config and add it, rather than just generate an entirely new 
>>>     config
>>>   
>>>       
>> What's the problem with parsing the device config and modifying it?  Is 
>> it just complexity?
>>     
>
> Yes, complexity is the issue.
>
>   
>> If we provided a mechanism to simplify manipulating a device config, 
>> would that eliminate the concern here?
>>     
>
> In libvirt's case, a lot of the complexity would come from needing to
> figure out what to change.
>   

Right, libvirt wants to be able to easily say "add a scsi block device 
to this VM".  The way I see this working is that there would be a 
default pc.dtc.  We would still have a -drive file=foo.img,if=scsi 
option that would really just be a wrapper around first searching for an 
existing LSI controller, if one exists, attaching the lun, if not, 
create one, etc.

libvirt could continue to use this sort of interface.  However, as it 
wants to do more advanced things, it may have to dive into the device 
tree itself.

On live migration, QEMU will save a copy of the device tree somewhere 
and libvirt needs to keep track of it.  It can treat it as opaque.  -M 
/path/to/foo.dtc -drive file=foo.img,if=scsi should continue working as 
expected IMHO.

Regards,

Anthony Liguori

  reply	other threads:[~2009-06-12 16:12 UTC|newest]

Thread overview: 184+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <cover.1244192535.git.mst@redhat.com>
2009-06-05 10:22 ` [Qemu-devel] [PATCHv3 01/13] qemu: make default_write_config use mask table Michael S. Tsirkin
2009-06-05 10:23 ` [Qemu-devel] [PATCHv3 02/13] qemu: capability bits in pci save/restore Michael S. Tsirkin
2009-06-05 10:23 ` [Qemu-devel] [PATCHv3 03/13] qemu: add routines to manage PCI capabilities Michael S. Tsirkin
2009-06-09 17:11   ` Glauber Costa
2009-06-10  9:54     ` Michael S. Tsirkin
2009-06-10 14:55       ` Glauber Costa
2009-06-10 15:01         ` Michael S. Tsirkin
2009-06-10 15:24           ` Paul Brook
2009-06-10 15:50             ` Michael S. Tsirkin
2009-06-10 17:43             ` Jamie Lokier
2009-06-10 18:22               ` Michael S. Tsirkin
2009-06-10 19:27                 ` Jamie Lokier
2009-06-12  8:43                   ` Configuration vs. compat hints [was Re: [Qemu-devel] [PATCHv3 03/13] qemu: add routines to manage PCI capabilities] Mark McLoughlin
2009-06-12 13:59                     ` Michael S. Tsirkin
2009-06-12 14:48                       ` Mark McLoughlin
2009-06-12 14:51                     ` Anthony Liguori
2009-06-12 15:41                       ` Mark McLoughlin
2009-06-12 16:11                         ` Anthony Liguori [this message]
2009-06-12 16:48                           ` Mark McLoughlin
2009-06-12 17:00                             ` Anthony Liguori
2009-06-12 17:31                               ` Mark McLoughlin
2009-06-12 17:44                                 ` Blue Swirl
2009-06-12 17:55                                   ` Mark McLoughlin
2009-06-16 18:38                                 ` Jamie Lokier
2009-06-14  9:50                             ` Michael S. Tsirkin
2009-06-15  9:08                               ` Mark McLoughlin
2009-06-15  9:27                                 ` Avi Kivity
2009-06-15 10:32                                   ` Michael S. Tsirkin
2009-06-15 10:44                                     ` Gleb Natapov
2009-06-15 10:46                                       ` Michael S. Tsirkin
2009-06-15 10:52                                         ` Gleb Natapov
2009-06-15 11:07                                           ` Michael S. Tsirkin
2009-06-15 11:14                                             ` Gleb Natapov
2009-06-15 11:34                                               ` Michael S. Tsirkin
2009-06-15 11:27                                     ` Avi Kivity
2009-06-15 11:48                                       ` Michael S. Tsirkin
2009-06-15 11:56                                         ` Avi Kivity
2009-06-15 12:41                                           ` Michael S. Tsirkin
2009-06-15 12:50                                             ` Avi Kivity
2009-06-15 12:52                                               ` Anthony Liguori
2009-06-15 13:09                                                 ` Avi Kivity
2009-06-15 13:23                                                   ` Anthony Liguori
2009-06-15 13:42                                                     ` Avi Kivity
2009-06-15 13:51                                                       ` Anthony Liguori
2009-06-15 14:06                                                         ` Dor Laor
2009-06-15 14:24                                                           ` Anthony Liguori
2009-06-15 14:37                                                             ` Michael S. Tsirkin
2009-06-15 15:03                                                               ` Anthony Liguori
2009-06-15 15:08                                                                 ` Daniel P. Berrange
2009-06-15 15:12                                                                   ` Dor Laor
2009-06-15 15:15                                                                     ` Avi Kivity
2009-06-16 18:32                                                                       ` Jamie Lokier
2009-06-17  6:38                                                                         ` Avi Kivity
2009-06-17 11:51                                                                           ` Jamie Lokier
2009-06-15 16:27                                                                     ` Mark McLoughlin
2009-06-15 17:13                                                                       ` Avi Kivity
2009-06-15 15:05                                                             ` Avi Kivity
2009-06-15 15:11                                                               ` Anthony Liguori
2009-06-15 16:27                                                               ` Mark McLoughlin
2009-06-15 17:09                                                                 ` Avi Kivity
2009-06-15 18:12                                                                 ` Anthony Liguori
2009-06-15 18:21                                                                   ` Avi Kivity
2009-06-15 18:24                                                                     ` Anthony Liguori
2009-06-15 18:44                                                                     ` Blue Swirl
2009-06-16  8:56                                                                       ` Avi Kivity
2009-06-16 12:14                                                                   ` Mark McLoughlin
2009-06-16 12:28                                                                     ` Avi Kivity
2009-06-16 12:39                                                                       ` Mark McLoughlin
2009-06-16 12:51                                                                         ` Avi Kivity
2009-06-16 18:44                                                                         ` Jamie Lokier
2009-06-17  8:33                                                                           ` Mark McLoughlin
2009-06-17  9:03                                                                             ` Avi Kivity
2009-06-17  9:18                                                                               ` Mark McLoughlin
2009-06-17  9:26                                                                                 ` Avi Kivity
2009-06-17 11:58                                                                                   ` Jamie Lokier
2009-06-24  8:04                                                                       ` Dietmar Maurer
2009-07-07 11:08                                                                   ` [Qemu-devel] [PATCH 0/3] Change virtio blk/console PCI classes and introduce compat machine type [was Re: Configuration vs. compat hints] Mark McLoughlin
2009-07-07 11:09                                                                     ` [Qemu-devel] [PATCH 1/3] Change default PCI class of virtio-blk to PCI_CLASS_STORAGE_SCSI Mark McLoughlin
2009-07-07 11:09                                                                       ` [Qemu-devel] [PATCH 2/3] Change default PCI class of virtio-console to PCI_CLASS_SERIAL_OTHER Mark McLoughlin
2009-07-07 11:10                                                                         ` [Qemu-devel] [PATCH 3/3] Add a pc-0-10 machine type for compatibility with 0.10.x Mark McLoughlin
2009-07-07 12:01                                                                           ` Avi Kivity
2009-07-08 10:46                                                                             ` Mark McLoughlin
2009-07-08 10:48                                                                               ` [Qemu-devel] [PATCH 3/3 v2] " Mark McLoughlin
2009-07-08 13:00                                                                                 ` Gerd Hoffmann
2009-07-08 13:44                                                                                   ` Anthony Liguori
2009-07-08 14:09                                                                                     ` Gerd Hoffmann
2009-07-08 15:08                                                                                       ` Mark McLoughlin
2009-07-08 19:07                                                                                         ` Gerd Hoffmann
2009-07-08 21:45                                                                                           ` Anthony Liguori
2009-07-09  7:56                                                                                             ` Gerd Hoffmann
2009-07-09  8:39                                                                                               ` Mark McLoughlin
2009-07-09  8:50                                                                                                 ` Avi Kivity
2009-07-09  8:57                                                                                                   ` Mark McLoughlin
2009-07-09  9:04                                                                                                     ` Avi Kivity
2009-07-09  9:05                                                                                                 ` Gerd Hoffmann
2009-07-09 10:01                                                                                                   ` Gerd Hoffmann
2009-07-09 13:31                                                                                                     ` Mark McLoughlin
2009-07-09 13:47                                                                                                       ` Gerd Hoffmann
2009-07-09 13:35                                                                                                     ` Anthony Liguori
2009-07-09 13:55                                                                                                       ` Gerd Hoffmann
2009-07-09 16:09                                                                                                       ` Paul Brook
2009-07-09 11:51                                                                                                   ` Avi Kivity
2009-07-09 13:29                                                                                                     ` Anthony Liguori
2009-07-09 13:59                                                                                                       ` Avi Kivity
2009-07-09 15:00                                                                                                   ` Anthony Liguori
2009-07-21 14:21                                                                                                 ` [Qemu-devel] [PATCH 0/4] Add pc-0.11 machine type and make pc an alias to it Mark McLoughlin
2009-07-21 14:21                                                                                                 ` [Qemu-devel] [PATCH 1/4] Remove the pc-0-10 machine type Mark McLoughlin
2009-07-21 14:49                                                                                                   ` Mark McLoughlin
2009-07-22  2:14                                                                                                     ` Anthony Liguori
2009-07-22  8:56                                                                                                       ` Gerd Hoffmann
2009-07-22  9:05                                                                                                         ` Mark McLoughlin
2009-07-22  9:02                                                                                                       ` Mark McLoughlin
2009-07-22  9:02                                                                                                         ` [Qemu-devel] [PATCH 1/2] Add machine type aliases Mark McLoughlin
2009-07-22  9:02                                                                                                         ` [Qemu-devel] [PATCH 2/2] Add a pc-0.11 machine type and make the pc type an alias Mark McLoughlin
2009-07-23 13:34                                                                                                           ` Mark McLoughlin
2009-07-21 14:21                                                                                                 ` [Qemu-devel] [PATCH 2/4] Remove the virtio-{blk, console}-pci-0-10 device types Mark McLoughlin
2009-07-21 14:21                                                                                                 ` [Qemu-devel] [PATCH 3/4] Add machine type aliases Mark McLoughlin
2009-07-21 14:21                                                                                                 ` [Qemu-devel] [PATCH 4/4] Add a pc-0.11 machine type and make the pc type an alias Mark McLoughlin
2009-07-09  8:00                                                                                             ` [Qemu-devel] [PATCH 3/3 v2] Add a pc-0-10 machine type for compatibility with 0.10.x Avi Kivity
2009-07-15 11:27                                                                         ` [Qemu-devel] [PATCH 2/3] Change default PCI class of virtio-console to PCI_CLASS_SERIAL_OTHER Amit Shah
2009-06-15 11:35                                   ` [Qemu-devel] Re: Configuration vs. compat hints Markus Armbruster
2009-06-15 11:43                                     ` Avi Kivity
2009-06-15 11:59                                       ` Stefano Stabellini
2009-06-15 12:41                                       ` Markus Armbruster
2009-06-15 12:50                                         ` Anthony Liguori
2009-06-15 14:23                                       ` Javier Guerra
2009-06-15 12:41                                   ` Configuration vs. compat hints [was Re: [Qemu-devel] [PATCHv3 03/13] qemu: add routines to manage PCI capabilities] Anthony Liguori
2009-06-15 12:55                                     ` Avi Kivity
2009-06-15 13:04                                     ` [Qemu-devel] Re: Configuration vs. compat hints Markus Armbruster
2009-06-15  9:43                               ` Configuration vs. compat hints [was Re: [Qemu-devel] [PATCHv3 03/13] qemu: add routines to manage PCI capabilities] Avi Kivity
2009-06-15 10:29                                 ` Michael S. Tsirkin
2009-06-15 12:45                                 ` Anthony Liguori
2009-06-15 13:03                                   ` Avi Kivity
2009-06-15 13:20                                     ` Anthony Liguori
2009-06-15 13:35                                       ` Avi Kivity
2009-06-15 13:45                                         ` Anthony Liguori
2009-06-15 13:54                                           ` Avi Kivity
2009-06-15 15:07                                             ` Anthony Liguori
2009-06-15 15:11                                               ` Avi Kivity
2009-06-15 15:20                                                 ` Anthony Liguori
2009-06-15 15:26                                                   ` Avi Kivity
2009-06-15 13:17                                   ` Gerd Hoffmann
2009-06-14  7:55                       ` Avi Kivity
2009-06-12 14:55                     ` Anthony Liguori
2009-06-12 15:53                       ` Mark McLoughlin
2009-06-12 16:12                         ` Anthony Liguori
2009-06-12 16:48                           ` Mark McLoughlin
2009-06-14  7:58                             ` Avi Kivity
2009-06-15  5:32                               ` [Qemu-devel] Re: Configuration vs. compat hints Markus Armbruster
2009-06-15  9:09                               ` Configuration vs. compat hints [was Re: [Qemu-devel] [PATCHv3 03/13] qemu: add routines to manage PCI capabilities] Mark McLoughlin
2009-06-15 11:32                                 ` Avi Kivity
2009-06-15 12:48                                   ` Anthony Liguori
2009-06-15 13:12                                     ` Avi Kivity
2009-06-15 13:24                                       ` Anthony Liguori
2009-06-15 13:43                                         ` Avi Kivity
2009-06-15 14:00                                     ` Mark McLoughlin
2009-06-15 14:20                                       ` Anthony Liguori
2009-06-15 14:34                                         ` Michael S. Tsirkin
2009-06-15 15:11                                           ` Anthony Liguori
2009-06-14  9:34                         ` Michael S. Tsirkin
2009-06-14  9:37                           ` Avi Kivity
2009-06-14  9:47                             ` Michael S. Tsirkin
2009-06-15  9:38                               ` Avi Kivity
2009-06-15  9:02                           ` Mark McLoughlin
2009-06-05 10:23 ` [Qemu-devel] [PATCHv3 04/13] qemu: helper routines for pci access Michael S. Tsirkin
2009-06-05 10:23 ` [Qemu-devel] [PATCHv3 05/13] qemu: MSI-X support functions Michael S. Tsirkin
2009-06-09 17:26   ` Glauber Costa
2009-06-10  9:58     ` Michael S. Tsirkin
2009-06-05 10:23 ` [Qemu-devel] [PATCHv3 06/13] qemu: add flag to disable MSI-X by default Michael S. Tsirkin
2009-06-05 10:23 ` [Qemu-devel] [PATCHv3 07/13] qemu: minimal MSI/MSI-X implementation for PC Michael S. Tsirkin
2009-06-09 17:33   ` Glauber Costa
2009-06-10  9:59     ` Michael S. Tsirkin
2009-06-05 10:23 ` [Qemu-devel] [PATCHv3 08/13] qemu: add support for resizing regions Michael S. Tsirkin
2009-06-09 17:36   ` Glauber Costa
2009-06-10 10:05     ` Michael S. Tsirkin
2009-06-10 10:46     ` Michael S. Tsirkin
2009-06-05 10:24 ` [Qemu-devel] [PATCHv3 09/13] qemu: virtio support for many interrupt vectors Michael S. Tsirkin
2009-06-05 10:24 ` [Qemu-devel] [PATCHv3 10/13] qemu: MSI-X support in virtio PCI Michael S. Tsirkin
2009-06-05 10:24 ` [Qemu-devel] [PATCHv3 11/13] qemu: request 3 vectors in virtio-net Michael S. Tsirkin
2009-06-05 10:24 ` [Qemu-devel] [PATCHv3 12/13] qemu: virtio save/load bindings Michael S. Tsirkin
2009-06-09 17:45   ` Glauber Costa
2009-06-10 10:11     ` Michael S. Tsirkin
2009-06-10 11:33     ` Michael S. Tsirkin
2009-06-05 10:24 ` [Qemu-devel] [PATCHv3 13/13] qemu: add pci_get/set_byte Michael S. Tsirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A327E4A.7010300@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=avi@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cotte@de.ibm.com \
    --cc=glommer@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=markmc@redhat.com \
    --cc=mst@redhat.com \
    --cc=paul@codesourcery.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rusty@rustcorp.com.au \
    --cc=virtualization@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).