qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Dor Laor <dlaor@redhat.com>
To: Mark McLoughlin <markmc@redhat.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	ajax@redhat.com, Paul Brook <paul@codesourcery.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] Change virtio-console to	PCI_CLASS_SERIAL_OTHER
Date: Tue, 02 Jun 2009 16:08:25 +0300	[thread overview]
Message-ID: <4A252449.5050204@redhat.com> (raw)
In-Reply-To: <1243932567.9146.102.camel@blaa>

Mark McLoughlin wrote:
> On Sun, 2009-05-31 at 17:47 +0300, Dor Laor wrote:
>   
>> Mark McLoughlin wrote:
>>     
>>> On Fri, 2009-05-29 at 10:43 +0100, Mark McLoughlin wrote:
>>>
>>>   
>>>       
>>>> The more I think about it, no matter how much linear ABI versioning
>>>> sucks, it's possibly the only way to solve this in a reasonably usable
>>>> manners. Distros would just have to suck it up and agree that if they
>>>> cherry-pick an ABI changing patch, they must update the entire ABI to
>>>> the newer upstream ABI version.
>>>>     
>>>>         
>>> Okay, how about this:
>>>
>>>   - Add a saveabi monitor command
>>>
>>>   - Whenever libvirt starts a guest or hotplugs a device, it executes
>>>     saveabi and retains the output
>>>
>>>   - The abi can be restored with qemu -loadabi or the loadabi monitor 
>>>     command
>>>
>>>   - The abi file doesn't describe the device model, it merely gives 
>>>     hints for building the device model which is described on the
>>>     command line
>>>
>>>   - If the abi file contains details of a device which is not listed on 
>>>     the command line, it's just ignored and not included in the next 
>>>     saveabi
>>>
>>>   - If the abi file is missing details of a device which is listed on 
>>>     the command line, the device is constructed using the defaults and 
>>>     included in the next saveabi
>>>
>>>   - This means the abi file is opaque to the management tools - unlike 
>>>     the machine config file, libvirt would not need to modify it when
>>>     devices are added or removed by the user
>>>   
>>>       
>> IMO it shouldn't be opaque
>>     
>
> The important requirement is that management tools should never need to
> modify saveabi output.
>
>   
>> and we might use the same config file for the abi too.
>>     
>
> What we don't want is:
>
>   $> qemu -config guest.config
>
> where guest.config contains both details of which devices are needed
> *and* what their ABI should be.
>
> We want:
>
>   $> qemu -loadabi guest.abi -config guest.confg
>
> or:
>
>   $> qemu -loadabi guest.abi -drive ... -net ... -serial ...
>
> The idea being that we should not mix up ABI requirements with device
> configuration.
>
> The management tools do not need to know the details of the ABI
> provided, they just want to request qemu to use the same ABI as was used
> previously.
>
> Put more simply - with saveabi/loadabi, the management tools would not
> need to know that older versions of qemu's virtio-console used
> PCI_CLASS_DISPLAY_OTHER.
>
>   
Since -loadabi  and -config are far away in the future (hope few months) and
the 2 pci class issues are a real problem now, can qemu accept current 
patches?
My patch gave a config option for setting the value of the block class.

Current guest abi is not kept anyway since there is not way for static 
pci slots and
there is no migration working with older qemu's.

IMHO since there is not good way to allow have a real stable guest abi, 
these patches
should be committed (with a cmdline option).

Regards, dor
>> The notion of abi config is indeed required and most of the times, mgmt 
>> tools won't need to deal with it.
>>
>> But, let's say for instance that the user with certain abi configs, now 
>> change some existence of pci device, bios memory mapping, etc. In the
>> case mgmt should automatically adjust both config files to minimize
>> the effect on the guest and not to create a conflict.
>>     
>
> I think that would defeat a lot of the value of this. It adds an awful
> lot of complexity to the management tools.
>
> The device config file should always just take precedence and the abi
> file should just be used as hints to allow the same ABI to be used. If
> e.g. a device is removed, the hints for that device can be ignored and
> dropped in the next saveabi.
>
> Cheers,
> Mark.
>
>
>
>   

  reply	other threads:[~2009-06-02 13:10 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-22 17:14 [Qemu-devel] [PATCH] Change virtio-console to PCI_CLASS_SERIAL_OTHER Mark McLoughlin
2009-05-24  9:11 ` Avi Kivity
2009-05-27 14:21 ` Anthony Liguori
2009-05-27 17:42   ` Mark McLoughlin
2009-05-27 22:37     ` Anthony Liguori
2009-05-28  9:33       ` Mark McLoughlin
2009-05-28  9:44         ` Anthony Liguori
2009-05-28 12:53     ` Paul Brook
2009-05-28 12:56       ` Anthony Liguori
2009-05-28 13:22         ` Paul Brook
2009-05-28 13:29           ` Anthony Liguori
2009-05-28 21:45             ` Dor Laor
2009-05-29  9:43               ` Mark McLoughlin
2009-05-29  9:50                 ` Anthony Liguori
2009-05-31 14:32                   ` Avi Kivity
2009-05-29  9:55                 ` Anthony Liguori
2009-05-29 10:09                 ` Mark McLoughlin
2009-05-31 14:47                   ` Dor Laor
2009-06-02  8:49                     ` Mark McLoughlin
2009-06-02 13:08                       ` Dor Laor [this message]
2009-06-02 13:39                         ` Mark McLoughlin
2009-05-31 14:35                 ` Dor Laor
2009-06-02  8:49                   ` Mark McLoughlin
2009-05-28 13:04       ` Daniel P. Berrange
2009-05-28 13:19         ` Anthony Liguori
2009-05-31 18:48           ` Jamie Lokier
2009-05-28 13:20         ` Paul Brook

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=4A252449.5050204@redhat.com \
    --to=dlaor@redhat.com \
    --cc=ajax@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=markmc@redhat.com \
    --cc=paul@codesourcery.com \
    --cc=qemu-devel@nongnu.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).