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

[Xen-devel] [Paging] 1GB pages in PV DomU

  • To: <xen-devel@xxxxxxxxxxxxx>
  • From: François-Frédéric Ozog <ff@xxxxxxxx>
  • Date: Wed, 9 Jan 2013 16:25:51 +0100
  • Delivery-date: Wed, 09 Jan 2013 15:26:15 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>
  • Thread-index: Ac3ufZuKo2LmJti6TECUZTW2R2b1mg==


I need to map large portions (say 64GB) of mini-os virtual address space of
a PV DomU to 1GB machine pages on top of xen-unstable (processor has all
required capabilities and resources).

When creating a 10GB domain, I can find sets of machine 4KB pages in
start_info.mfn_list that can be grouped to build 1GB page but they appear in
"descending" order. So wen I build my domain page table
(arch/x86/mm.c:build_pagetable), I make sure I use 512 adjacent pages that
can be 1GB aligned and try to mark the corresponding L3 table.
In a few words, it looks so ugly that I am sure I am not doing things

Could you point me to best practice for this?



I am porting a special purpose OS designed to handle traffic from multiple
10Gbps port from « bare-metal » to Xen.
Some applications make use of up to 50GB data set. The most precious
resource are the TLB for "huge" pages. 
As a matter of fact, Intel processors have plenty of TLB for 4KB pages but a
handful of huge (either 1GB or 2MB) TLB.
So the most efficient organization is this case to only use 4KB and 1GB
pages, no 2MB pages.
And the reason to have in "virtualized", I would rather say "partitioned"
next to a standard Linux is to be able to communicate with "any" Dom0
capable Linux.

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.