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-ia64-devel

Re: [Xen-ia64-devel][PATCH][RFC] Task: support huge page RE: [Xen-ia64-d

To: "Xu, Anthony" <anthony.xu@xxxxxxxxx>
Subject: Re: [Xen-ia64-devel][PATCH][RFC] Task: support huge page RE: [Xen-ia64-devel] Xen/IA64 Healthiness Report -Cset#11460
From: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Date: Fri, 29 Sep 2006 19:27:12 +0900
Cc: Magnus Damm <magnus@xxxxxxxxxxxxx>, xen-ia64-devel@xxxxxxxxxxxxxxxxxxx, Tristan Gingold <Tristan.Gingold@xxxxxxxx>
Delivery-date: Fri, 29 Sep 2006 03:27:30 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <51CFAB8CB6883745AE7B93B3E084EBE207DC56@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
References: <51CFAB8CB6883745AE7B93B3E084EBE207DC56@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.4.2.1i
On Fri, Sep 29, 2006 at 04:59:36PM +0800, Xu, Anthony wrote:
> >> I'm using rhel4-u2 as guest, by default, rhel4-u2 set rr4.ps=256M.
> >>
> >> For latest kernel who supports hugetlbfs, the biggest page size is 4G.
> >>
> >> The goals from me is supporting 256M, if we can do that, and then 
> >> supporting huger tlb
> >like 1G or 4G is trivial. :-)
> >
> >I wanted to say that a implementation for hugetlbfs may be different
> >from a implementation for large page to map kernel.
> >So we should describe not only page-size, but also its purpose.
> >I re-summarize the goals. What do you think?
> >
> >- Support 16MB large page size to map kernel area.
> >  Although Linux can be configured to use 64MB page size to map kernel,
> >  we won't support 64MB page size. (at least for first prototype)
> >  It would be nice to support both kernel mapping page size, 16MB and 64MB,
> >  but it might be addressed by second phase.
> >  A domain uses only one of them. Potentially different domains may use
> >  different kernel mapping page size.
> >  e.g. domainA uses 16MB to map kernel, domainB uses 64MB to map kernel.
> >
> >- Support hugetlbfs with 256MB page size.
> >  If possible, it would be nice to support 1GB page size or 4GB page size.
> >  The huge page size is determined by Linux boot time options and
> >  only single page size from 256MB, 1GB, 4GB is used by hugetlbfs of a 
> > domain.
> >  Potentially different domains may use different huge page size.
> >  e.g. domainA uses 256MB huge page size, domainB uses 1GB huge page size.
> >  For first prototype, it is reasonable to support only 256MB huge page size.
> >
> >- page fragmentation should be addressed.
> >  This isn't addressed at the first step.
> >  When large contiguous page allocation fails, fall back path is executed
> >  with normal page size, 16KB, possibly at degraded performance.
> >  Or try a sort of defragmentation to create a large contiguous memory.
> 
> 
> How does XEN support 16MB and 256M in the same domain?

This is an issue.
Assuming that fall back path should be implemented eventually 
and we want to support more than two page size (64MB, 1GB, 4GB).
we have to distinguish page-size of given gpfn page somehow.


> For HVM side, there is no choice; XEN must allocate 256M contiguous memory 
> chunks for HVM domain.

Here I don't agree with you. 
If we can detect 265M page use by heuristic, xen/ia64 reallocates
256MB contiguous memory, pause the domain, exchange memory, then
unpause the domain.
This event happens very rare so that it is acceptable to pause/unpase
domain.

Then, how can it be detected?
Currently I have very vague idea though.
For example, tlb insert with 256MB page size on rr4 can be detected.
Does this sound too complex for the first prottype?


> I can't wait to see how much performance XEN/IA64 can get from supporting 
> huge page.
> BTW is there any bench march on IA64 using huge page?

I don't know. But such a benchmark is definitively needed.


-- 
yamahata

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel