From: "Kirill A. Shutemov" <kirill@shutemov.name>
To: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Steven Sistare <steven.sistare@oracle.com>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
linux_lkml_grp@oracle.com, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, Hugh Dickins <hughd@google.com>,
Michal Hocko <mhocko@kernel.org>,
Dan Williams <dan.j.williams@intel.com>,
Matthew Wilcox <willy@infradead.org>,
Toshi Kani <toshi.kani@hpe.com>, Boaz Harrosh <boazh@netapp.com>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [RFC PATCH] mm: align anon mmap for THP
Date: Tue, 15 Jan 2019 11:24:50 +0300 [thread overview]
Message-ID: <20190115082450.stl6vlrgbvikbwzq@kshutemo-mobl1> (raw)
In-Reply-To: <50c6abdc-b906-d16a-2f8f-8647b3d129aa@oracle.com>
On Mon, Jan 14, 2019 at 10:54:45AM -0800, Mike Kravetz wrote:
> On 1/14/19 7:35 AM, Steven Sistare wrote:
> > On 1/11/2019 6:28 PM, Mike Kravetz wrote:
> >> On 1/11/19 1:55 PM, Kirill A. Shutemov wrote:
> >>> On Fri, Jan 11, 2019 at 08:10:03PM +0000, Mike Kravetz wrote:
> >>>> At LPC last year, Boaz Harrosh asked why he had to 'jump through hoops'
> >>>> to get an address returned by mmap() suitably aligned for THP. It seems
> >>>> that if mmap is asking for a mapping length greater than huge page
> >>>> size, it should align the returned address to huge page size.
> >
> > A better heuristic would be to return an aligned address if the length
> > is a multiple of the huge page size. The gap (if any) between the end of
> > the previous VMA and the start of this VMA would be filled by subsequent
> > smaller mmap requests. The new behavior would need to become part of the
> > mmap interface definition so apps can rely on it and omit their hoop-jumping
> > code.
>
> Yes, the heuristic really should be 'length is a multiple of the huge page
> size'. As you mention, this would still leave gaps. I need to look closer
> but this may not be any worse than the trick of mapping an area with rounded
> up length and then unmapping pages at the beginning.
The question why is it any better. Virtual address space is generally
cheap, additional VMA maybe more signficiant due to find_vma() overhead.
And you don't *need* to unmap anything. Just use alinged pointer.
>
> When I sent this out, the thought in the back of my mind was that this doesn't
> really matter unless there is some type of alignment guarantee. Otherwise,
> user space code needs continue employing their code to check/force alignment.
> Making matters somewhat worse is that I do not believe there is C interface to
> query huge page size. I thought there was discussion about adding one, but I
> can not find it.
We have posix_memalign(3).
--
Kirill A. Shutemov
next prev parent reply other threads:[~2019-01-15 8:24 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-11 20:10 [RFC PATCH] mm: align anon mmap for THP Mike Kravetz
2019-01-11 21:55 ` Kirill A. Shutemov
2019-01-11 23:28 ` Mike Kravetz
2019-01-14 13:50 ` Kirill A. Shutemov
2019-01-14 16:29 ` Harrosh, Boaz
2019-01-14 16:40 ` Michal Hocko
2019-01-14 16:54 ` Harrosh, Boaz
2019-01-14 18:02 ` Michal Hocko
2019-01-14 15:35 ` Steven Sistare
2019-01-14 16:40 ` Harrosh, Boaz
2019-01-14 18:54 ` Mike Kravetz
2019-01-14 19:26 ` Steven Sistare
2019-01-15 8:24 ` Kirill A. Shutemov [this message]
2019-01-15 18:08 ` Mike Kravetz
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=20190115082450.stl6vlrgbvikbwzq@kshutemo-mobl1 \
--to=kirill@shutemov.name \
--cc=akpm@linux-foundation.org \
--cc=boazh@netapp.com \
--cc=dan.j.williams@intel.com \
--cc=hughd@google.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux_lkml_grp@oracle.com \
--cc=mhocko@kernel.org \
--cc=mike.kravetz@oracle.com \
--cc=steven.sistare@oracle.com \
--cc=toshi.kani@hpe.com \
--cc=willy@infradead.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).