qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v4 0/6] save/restore on Xen


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH v4 0/6] save/restore on Xen
Date: Tue, 24 Jan 2012 07:14:47 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110922 Lightning/1.0b2 Thunderbird/3.1.15

On 01/24/2012 05:10 AM, Avi Kivity wrote:
On 01/23/2012 07:18 PM, Anthony Liguori wrote:
Generally speaking, RAM is an independent device in most useful cases.

Can you give examples?  Do you mean a subdevice with composition, or a
really independent device?

I expect we'll have one Ram device. It's size will be configurable. One Ram device will hang off of the machine which would be the main ram.

A video card would have a Ram device via composition.

The important consideration about reset is how it propagates. My expectation is that we'll propagate reset through the composition tree in a preorder transversal. That means in the VGA device reset function, it's child device (Ram) has not been reset yet.

Onboard RAM is a very special case because it's extremely unusual.

What's unusual (or even extremely unusual) about it?  I don't see a
difference between a few billion bits of state and, say, the few bits of
state in an RTC device.

Okay, but let's not get philosophical here :-) There are very few devices that have a DRAM chip that is mapped through a bar into the main address space and behaves (usually) like normal RAM.

We really should view RAM as just another device so I don't like the
idea of propagating a global concept of "when RAM is restored" because
that treats it specially compared to other devices.

Agree.  In fact the first step has been taken as now creating a RAM
region with memory_region_init_ram() doesn't register it for migration.
The next step would be a VMSTATE_RAM() to make it part of the containing
device.

That's not necessary (or wise).

Let's not confuse a Ram device with a MemoryRegion. They are separate things and should be treated as separate things. I thought we discussed that MemoryRegions are stateless (or at least, there state is all derived) and don't need to be serialized?

Regards,

Anthony Liguori



reply via email to

[Prev in Thread] Current Thread [Next in Thread]