Huge pages
Volker Simonis
volker.simonis at gmail.com
Wed Jul 17 05:41:29 PDT 2013
Hi Tiago,
I just wanted to let you know that there's currently a discussion
going on about an interesting change which may also solve the problem
we currently have with with -XX:+UseHugeTLBFS on Linux/PPC64:
http://mail.openjdk.java.net/pipermail/hotspot-dev/2013-July/thread.html#10117
(don't get confused by the strange bug name / subject - it's mainly
about mmap / large pages).
While I was evaluating the change I tried to collect all the available
information about large page support on Linux and that revealed
several questions:
- where can the information be found which you send me below (about
'memory slices')? Is that documented somewhere? I'm just asking
because I'd like to collect all the available information in a blog or
wiki.
- I read that with kernel 3.11 Linux will also support "transparent
huge pages" on Linux/PPC64
(http://lkml.indiana.edu/hypermail/linux/kernel/1307.0/01916.html) but
I wonder how that can work with the 'memory slices' described by you?
If I understand "transparent huge pages" right (see for example
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/vm/transhuge.txt)
it works in the way that a separate kernel thread scans the memory for
consecutive memory mappings and if they are large enough the
underlying small pages are transparently replaced by huge pages. Now I
don't understand how this can work if a memory slice only supports one
page size. Or has this "only one page size per slice" restriction been
removed in kernel 3.11.
Regards,
Volker
On Mon, Apr 29, 2013 at 4:51 PM, Tiago Stürmer Daitx
<tdaitx at linux.vnet.ibm.com> wrote:
>> On Thu, 2013-04-11 at 16:26 +0200, Volker Simonis wrote:
>>
>> > I think it will be not trivial to get this working with all the
>> > combinations of different GCs and +/- compressed oops on all Linux
>> > architectures.
>> >
>> > It would be really great if you could find sombody from the LTC who
>> > can explain why mmap with MAP_HUGETLB behaves differently on x86 and
>> > ppc.
>
> Volker, I got the following response from a PPC Kernel dev:
>
> 'On ppc64, you can only have one page size in a "slice". Slices are
> 256M below 4G, then 4G-1TB then 1TB slices above that. Since the
> MAP_NORESERVE is not a hugepage mapping, it is not being placed to
> accomodate these restrictions. Overmapping with MAP_FIXED is then
> failing.'
>
> Let me know if you need additional information on this issue.
>
> --
> Tiago Stürmer Daitx
> tdaitx at linux.vnet.ibm.com
> IBM - Linux Technology Center
>
More information about the ppc-aix-port-dev
mailing list