WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

RE: [Xen-devel] [Question] How to support page offline in Xen environmen

To: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Subject: RE: [Xen-devel] [Question] How to support page offline in Xen environment
From: "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx>
Date: Thu, 4 Dec 2008 22:44:03 +0800
Accept-language: en-US
Acceptlanguage: en-US
Cc: "Wang, Shane" <shane.wang@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Thu, 04 Dec 2008 06:44:31 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20081204130921.GP25331@xxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <E2263E4A5B2284449EEBD0AAB751098401C309F6C3@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20081203100910.GM25331@xxxxxxxxxxxxxxxxxxxxx> <E2263E4A5B2284449EEBD0AAB751098401C30DCF7E@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20081203104506.GN25331@xxxxxxxxxxxxxxxxxxxxx> <E2263E4A5B2284449EEBD0AAB751098401C30DD314@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20081204130921.GP25331@xxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AclWEYxYFz6ICmGoQ6WAr/gxJxa/JAAC6QGA
Thread-topic: [Xen-devel] [Question] How to support page offline in Xen environment
Tim Deegan <mailto:Tim.Deegan@xxxxxxxxxx> wrote:
> Hi,
> 
> At 10:02 +0800 on 04 Dec (1228384976), Jiang, Yunhong wrote:
>>> True, but live-migration doesn't help that because right now given an
>>> MFN that's in use as a shadow page or any HVM state page you can't
>>> easily find out which domain is responsible for it.
>> 
>> Ahh, yes, didn't realize this. So do you think it is ok to add such
>> information?
> 
> Maybe for shadow pagetables something could be done, though
> I'm not sure
> there's room in the frametable.   I think the other frames are
> sufficiently few that if you're already excluding xenheap and dom0 they
> won't make much difference. 

Yes, at least in first stage we will not do that. After all, we just need cover 
the majority of the frames.
We many need extra 2 bit in frametable to mark page offline status, not sure if 
that's ok.

> 
>>> Also, remember that full live-migration needs enough spare RAM to hold
>>> an extra copy of the guest, so it couldn't work on guests larger than
>>> half the physical RAM, for example.
>> 
>> Yes, that is one argument we thought that before.
>> 
>>> 
>>>> d) For PV guest, can this be done without co-operation from guest?
>>> 
>>> Yes it can.  As long as you don't use the "fast path" resume to restart
>>> the guest, it will re-read its p2m just like it would after a full
>>> save/restore.
>> 
>> What do you mean of the "fast path"?
> 
> Have a look at the code for xc_domain_resume in libxc/xc_resume.c.  The
> slow-and-safe version makes the domain state look like it would after a
> save/restore, so that older kernels can be resumed after they've paused
> and had their state saved.  The fast version just changes the return
> code that the guest will see from its shutdown hypercall.
> 
> My suggestion is that you cause the guest to stop like it would for a
> save to disk, shuffle its p2m around, and call the slow-path resume
> function so that it will pick up the new p2m properly.

I will dig-into the code  Thanks for your suggestion.

> 
>> Do you mean the "something very lightweight based on small parts of
>> the save/restore code" is done in management tools, not in HV, am I
>> right?
> 
> Yes.  For the common case this lets you get what you want without the
> hypervisor being involved. 

So maybe the policy can be: if HV can offline page easily (like page owned by 
hvm domain without device assigned, or free pages), HV will do that, otherwise, 
we will leave it to user space tools.

We will firstly implement the code in HV side. 

> 
> Cheers,
> 
> Tim.
> 
> --
> Tim Deegan <Tim.Deegan@xxxxxxxxxx>
> Principal Software Engineer, Citrix Systems (R&D) Ltd.
> [Company #02300071, SL9 0DZ, UK.]
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel