LWN.net Logo

Re: [PATCH] MM: Support more pagesizes for MAP_HUGETLB/SHM_HUGETLB v6

From:  Andi Kleen <ak-AT-linux.intel.com>
To:  "Michael Kerrisk (man-pages)" <mtk.manpages-AT-gmail.com>
Subject:  Re: [PATCH] MM: Support more pagesizes for MAP_HUGETLB/SHM_HUGETLB v6
Date:  Mon, 22 Oct 2012 08:36:33 -0700
Message-ID:  <20121022153633.GK2095@tassilo.jf.intel.com>
Cc:  Andi Kleen <andi-AT-firstfloor.org>, akpm-AT-linux-foundation.org, linux-mm-AT-kvack.org, linux-kernel-AT-vger.kernel.org, Hillf Danton <dhillf-AT-gmail.com>
Archive-link:  Article, Thread

> Not sure of your notation there. I assume 31..27 means 5 bits (32
> through to 28 inclusive, 27 excluded). That gives you just 2^31 ==

[27...31]

You're right it's only 5 bits, so just 2GB.

Thinking about it more PowerPC has a 16GB page, so we probably
need to move this to prot.

However I'm not sure if any architectures use let's say the high  
8 bits of prot.

> 
> But there seems an obvious solution here: given your value in those
> bits (call it 'n'), the why not apply a multiplier. I mean, certainly
> you never want a value <= 12 for n, and I suspect that the reasonable
> minimum could be much larger (e.g., 2^16). Call that minimum M. Then
> you could interpret the value in your bits as meaning a page size of
> 
>     (2^n) * M

I considered that, but it would seem ugly and does not add that 
many bits.

> 
> > So this will use up all remaining flag bits now.
> 
> On the other hand, that seems really bad. It looks like that kills the
> ability to further extend the mmap() API with new flags in the future.
> It doesn't sound like we should be doing that.

You can always add flags to PROT or add a mmap3(). Has been done before.
Or just don't do any new MAP_SECURITY_HOLEs

-Andi

-- 
ak@linux.intel.com -- Speaking for myself only


(Log in to post comments)

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds