qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Paul Brook <paul@codesourcery.com>
Cc: qemu-devel@nongnu.org, Avi Kivity <avi@redhat.com>
Subject: Re: [Qemu-devel] Re: [SeaBIOS] [PATCH 0/8] option rom loading overhaul.
Date: Tue, 22 Dec 2009 10:16:42 -0600	[thread overview]
Message-ID: <4B30F0EA.508@codemonkey.ws> (raw)
In-Reply-To: <200912221554.40571.paul@codesourcery.com>

On 12/22/2009 09:54 AM, Paul Brook wrote:
>>> Ram allocations should be associated with a device. The VMState stuff
>>> this should make this fairly straightforward.
>>>        
>> Right, but for the sake of simplicity, you don't want to treat that ram
>> any differently than main ram wrt live migration.  That's why I proposed
>> adding a context id for each ram region.  That would allow us to use
>> something like the qdev name + id as the context id for a ram chunk to
>> get that association while still doing live ram migration of the memory.
>>      
> IMO the best way to do this is to do it via existing VMState machinery.
> We've already matched up DeviceStates so this gets us a handy unique
> identifier for every ram block. For system memory we can add a dummy device.
> Medium term we're probably going to want this anyway.
>    

Okay, I understand and agree.

I think the way this would work is that we would have a ram_addr type 
for VMState that would be an actual ram allocation and size.  
qemu_ram_alloc() would not need to take a context.  ram live migration 
would walk the list of registered VMState entries searching for anything 
that had a ram_addr type and would add that to the ram migration.

For system ram, we need dummy devices.

I think we probably ought to integrate VMState into qdev first though.  
I think that makes everything a bit more managable.

>>> Guest address space mappings are a completely separate issue. The device
>>> should be migrating the mappings (directly or via a PCI BAR) as part of
>>> its state migration. The ram regions might not be mapped into guest
>>> address space at all.
>>>        
>> We don't migrate guest address space memory today.  We migrate anything
>> that's qemu_ram_alloc()'d.  The big problem we have though is that we
>> don't have any real association between the qemu_ram_alloc() results and
>> what the context of the allocation was.  We assume the order of these
>> allocations are fixed and that's entirely wrong.
>>      
> The nice thing about the VMState approach is that the device doesn't know or
> care how the migration occurs. For bonus points it leads fairly directly to an
> object based mapping API, so we can change the implementation or migrate the
> ram to a different location without disturbing the device.
>    

Yeah, I like it.

Regards,

Anthony Liguori

> Paul
>    

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

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-18 11:01 [Qemu-devel] [PATCH 0/8] option rom loading overhaul Gerd Hoffmann
2009-12-18 11:01 ` [Qemu-devel] [PATCH 1/8] Support PCI based option rom loading Gerd Hoffmann
2009-12-19 10:57   ` Blue Swirl
2009-12-20 15:34     ` Anthony Liguori
2009-12-20 17:02       ` Blue Swirl
2009-12-20 17:18         ` Alexander Graf
2009-12-20 17:55           ` Anthony Liguori
2009-12-20 18:01             ` Alexander Graf
2009-12-20 18:24               ` Andreas Färber
2009-12-20 18:53                 ` Blue Swirl
2009-12-20 21:24                   ` Benjamin Herrenschmidt
2009-12-20 21:23               ` Benjamin Herrenschmidt
2009-12-18 11:01 ` [Qemu-devel] [PATCH 2/8] pci romfiles: add property, add default to PCIDeviceInfo Gerd Hoffmann
2010-01-11 21:18   ` [Qemu-devel] [RFC] New naming rules for GPXE romfiles Stefan Weil
2010-01-11 21:34     ` Anthony Liguori
2010-01-12 10:23     ` Kevin Wolf
2009-12-18 11:01 ` [Qemu-devel] [PATCH 3/8] fw_cfg: make calls typesafe Gerd Hoffmann
2009-12-18 11:01 ` [Qemu-devel] [PATCH 4/8] fw_cfg: add API for file transfer Gerd Hoffmann
2009-12-19 12:06   ` Blue Swirl
2009-12-20  8:42   ` [Qemu-devel] Re: [SeaBIOS] " Gleb Natapov
2009-12-18 11:01 ` [Qemu-devel] [PATCH 5/8] roms: use new fw_cfg file xfer support Gerd Hoffmann
2009-12-20  8:45   ` [Qemu-devel] Re: [SeaBIOS] " Gleb Natapov
2009-12-18 11:01 ` [Qemu-devel] [PATCH 6/8] roms: remove option rom packing logic Gerd Hoffmann
2009-12-18 11:01 ` [Qemu-devel] [PATCH 7/8] updated seabios binary for testing convinience Gerd Hoffmann
2009-12-18 11:01 ` [Qemu-devel] [PATCH 8/8] debug: enable bios messages Gerd Hoffmann
2009-12-18 14:35 ` [Qemu-devel] Re: [SeaBIOS] [PATCH 0/8] option rom loading overhaul Anthony Liguori
2009-12-18 16:34   ` Gerd Hoffmann
2009-12-18 16:42     ` Anthony Liguori
2009-12-18 17:03       ` Gerd Hoffmann
2009-12-18 17:12         ` Anthony Liguori
2009-12-19  1:48           ` Kevin O'Connor
2009-12-19  3:07             ` Anthony Liguori
2009-12-18 17:14         ` Anthony Liguori
2009-12-18 18:04           ` Gerd Hoffmann
2009-12-18 19:41         ` Sebastian Herbszt
2009-12-18 19:53           ` Anthony Liguori
2009-12-18 20:10             ` Sebastian Herbszt
2009-12-20  8:38 ` Gleb Natapov
2009-12-20 14:43   ` Anthony Liguori
2009-12-20 14:52     ` Gleb Natapov
2009-12-20 14:58       ` Anthony Liguori
2009-12-20 15:07         ` Gleb Natapov
2009-12-20 15:11           ` Anthony Liguori
2009-12-20 15:20             ` Avi Kivity
2009-12-20 15:31               ` Anthony Liguori
2009-12-20 15:35                 ` Avi Kivity
2009-12-22 13:04               ` Paul Brook
2009-12-22 13:09                 ` Avi Kivity
2009-12-22 15:11                 ` Anthony Liguori
2009-12-22 15:54                   ` Paul Brook
2009-12-22 16:16                     ` Anthony Liguori [this message]
2009-12-20 15:23             ` Gleb Natapov
2009-12-20 15:28               ` Anthony Liguori
2009-12-20 15:33                 ` Gleb Natapov
2009-12-20 15:39                   ` Anthony Liguori
2009-12-20 15:52                     ` Gleb Natapov
2009-12-20 16:08                       ` Blue Swirl
2009-12-20 16:15                         ` Gleb Natapov
2009-12-20 16:23                           ` Blue Swirl
2009-12-20 17:48                       ` Anthony Liguori
2009-12-21  1:59                         ` Kevin O'Connor
2009-12-21  7:32                           ` Gleb Natapov
2009-12-21 16:40                             ` Anthony Liguori
2009-12-21 16:43                               ` Gleb Natapov
2009-12-21 17:26                                 ` Anthony Liguori
2009-12-21 17:43                                   ` Gleb Natapov
2009-12-21 18:24                                     ` [Qemu-devel] Re: Re: [SeaBIOS] [PATCH 0/8] option rom loadingoverhaul Sebastian Herbszt
2009-12-21 18:36                                       ` Gleb Natapov
2009-12-21 19:28                                         ` Sebastian Herbszt
2009-12-21 19:57                                           ` Gleb Natapov
2009-12-21 19:17                                       ` [Qemu-devel] " Anthony Liguori
2009-12-21 19:39                                         ` Sebastian Herbszt
2009-12-21 19:53                                           ` Gleb Natapov
2009-12-21 20:16                                             ` Sebastian Herbszt
2009-12-22  7:58                                               ` Gleb Natapov
2009-12-22 14:57                                                 ` Anthony Liguori
2009-12-21 19:48                                         ` Gleb Natapov
2009-12-21 19:13                                     ` [Qemu-devel] Re: [SeaBIOS] [PATCH 0/8] option rom loading overhaul Anthony Liguori
2009-12-21 19:43                                       ` Gleb Natapov
2009-12-21 23:54                                         ` Anthony Liguori
2009-12-22 20:50                                           ` [Qemu-devel] Re: Re: [SeaBIOS] [PATCH 0/8] option rom loadingoverhaul Sebastian Herbszt
2009-12-21  7:40                         ` [Qemu-devel] Re: [SeaBIOS] [PATCH 0/8] option rom loading overhaul Gleb Natapov
2009-12-21 17:27                           ` Michael S. Tsirkin
2010-01-12  4:48                   ` Jamie Lokier

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=4B30F0EA.508@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=avi@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).