xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: "François-Frédéric Ozog" <ff@ozog.com>
To: xen-devel@lists.xen.org
Subject: [Paging] 1GB pages in PV DomU
Date: Wed, 9 Jan 2013 16:25:51 +0100	[thread overview]
Message-ID: <003f01cdee7d$9bf09390$d3d1bab0$@com> (raw)

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.

             reply	other threads:[~2013-01-09 15:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-09 15:25 François-Frédéric Ozog [this message]
2013-01-09 15:35 ` [Paging] 1GB pages in PV DomU Jan Beulich
2013-01-09 15:54   ` François-Frédéric Ozog

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='003f01cdee7d$9bf09390$d3d1bab0$@com' \
    --to=ff@ozog.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).