xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [Paging] 1GB pages in PV DomU
@ 2013-01-09 15:25 François-Frédéric Ozog
  2013-01-09 15:35 ` Jan Beulich
  0 siblings, 1 reply; 3+ messages in thread
From: François-Frédéric Ozog @ 2013-01-09 15:25 UTC (permalink / raw)
  To: xen-devel

Hi,

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
straight.

Could you point me to best practice for this?

Cordially,

François-Frédéric

Context/Rationale:
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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-01-09 15:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-09 15:25 [Paging] 1GB pages in PV DomU François-Frédéric Ozog
2013-01-09 15:35 ` Jan Beulich
2013-01-09 15:54   ` François-Frédéric Ozog

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).