linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
To: Andi Kleen <ak@linux.intel.com>
Cc: Andi Kleen <andi@firstfloor.org>,
	akpm@linux-foundation.org, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org, Hillf Danton <dhillf@gmail.com>
Subject: Re: [PATCH] MM: Support more pagesizes for MAP_HUGETLB/SHM_HUGETLB v6
Date: Mon, 22 Oct 2012 17:53:45 +0200	[thread overview]
Message-ID: <CAKgNAki=AL+KdYDdYnE8ZhjK-tUf5cZ163BWPe6GRM0rpi-z7w@mail.gmail.com> (raw)
In-Reply-To: <20121022153633.GK2095@tassilo.jf.intel.com>

On Mon, Oct 22, 2012 at 5:36 PM, Andi Kleen <ak@linux.intel.com> wrote:
>> 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]

(Hmm -- sleeping as I wrote that, but I at least got the end point right.)

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

This is all seems to make an awful muck of the API...

I'm not sure whether anything is using the high 8 bits of prot, bun
passing I note that there seems to be no check that the unused bits
are zeroed so there's a small chance  existing apps are passing random
garbage there. (Of course, mmap() is hardly the only API to have that
fault, and it hasn't stopped us from reusing bits in those APIs,
though sometimes we've gotten bitten by apps that did pass in random
garbage).

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

There seems to be a reasonable argument here for an mmap3() with a
64-bit flags argument...

Cheers,

Michael

-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Author of "The Linux Programming Interface"; http://man7.org/tlpi/

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2012-10-22 15:54 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-19 16:48 Andi Kleen
2012-10-20  3:39 ` Hillf Danton
2012-10-22 11:27 ` Michael Kerrisk
2012-10-22 13:27   ` Andi Kleen
2012-10-22 13:35     ` Andi Kleen
2012-10-22 13:56       ` Michael Kerrisk (man-pages)
2012-10-22 15:36         ` Andi Kleen
2012-10-22 15:53           ` Michael Kerrisk (man-pages) [this message]
2012-10-22 16:11             ` Andi Kleen
2012-10-22 16:23               ` Michael Kerrisk (man-pages)
2012-10-22 16:29                 ` Andi Kleen
2012-10-22 16:42                   ` Michael Kerrisk (man-pages)
2012-10-23  1:45                 ` Benjamin Herrenschmidt
2012-10-23  1:44             ` Benjamin Herrenschmidt
2012-10-23  2:28               ` Andi Kleen
2012-10-23  7:37                 ` Michael Kerrisk (man-pages)
2012-10-23 13:39                   ` Andi Kleen
2012-10-23 22:56           ` Valdis.Kletnieks
2012-10-22 21:39     ` Andrew Morton

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='CAKgNAki=AL+KdYDdYnE8ZhjK-tUf5cZ163BWPe6GRM0rpi-z7w@mail.gmail.com' \
    --to=mtk.manpages@gmail.com \
    --cc=ak@linux.intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=dhillf@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.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