From: Eric B Munson <ebmunson@us.ibm.com>
To: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
akpm@linux-foundation.org
Cc: linux-man@vger.kernel.org, mtk.manpages@gmail.com,
randy.dunlap@oracle.com, Eric B Munson <ebmunson@us.ibm.com>
Subject: [PATCH 0/3] Add pseudo-anonymous huge page mappings V4
Date: Wed, 26 Aug 2009 11:44:50 +0100 [thread overview]
Message-ID: <cover.1251282769.git.ebmunson@us.ibm.com> (raw)
This patch set adds a flag to mmap that allows the user to request
a mapping to be backed with huge pages. This mapping will borrow
functionality from the huge page shm code to create a file on the
kernel internal mount and use it to approximate an anonymous mapping.
The MAP_HUGETLB flag is a modifier to MAP_ANONYMOUS and will not work
without both flags being preset.
A new flag is necessary because there is no other way to hook into
huge pages without creating a file on a hugetlbfs mount which
wouldn't be MAP_ANONYMOUS.
To userspace, this mapping will behave just like an anonymous mapping
because the file is not accessible outside of the kernel.
This patch set is meant to simplify the programming model, presently
there is a large chunk of boiler plate code, contained in libhugetlbfs,
required to create private, hugepage backed mappings. This patch set
would allow use of hugepages without linking to libhugetlbfs or having
hugetblfs mounted.
Unification of the VM code would provide these same benefits, but it
has been resisted each time that it has been suggested for several
reasons: it would break PAGE_SIZE assumptions across the kernel, it
makes page-table abstractions really expensive, and it does not
provide any benefit on architectures that do not support huge pages,
incurring fast path penalties without providing any benefit on these
architectures.
Eric B Munson (3):
hugetlbfs: Allow the creation of files suitable for MAP_PRIVATE on
the vfs internal mount
Add MAP_HUGETLB for mmaping pseudo-anonymous huge page regions
Add MAP_HUGETLB example
Documentation/vm/00-INDEX | 2 +
Documentation/vm/hugetlbpage.txt | 14 ++++---
Documentation/vm/map_hugetlb.c | 77 +++++++++++++++++++++++++++++++++++++
fs/hugetlbfs/inode.c | 21 ++++++++--
include/asm-generic/mman-common.h | 1 +
include/linux/hugetlb.h | 19 ++++++++-
ipc/shm.c | 2 +-
mm/mmap.c | 19 +++++++++
8 files changed, 142 insertions(+), 13 deletions(-)
create mode 100644 Documentation/vm/map_hugetlb.c
--
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>
next reply other threads:[~2009-08-26 10:51 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-26 10:44 Eric B Munson [this message]
2009-08-26 10:44 ` [PATCH 1/3] hugetlbfs: Allow the creation of files suitable for MAP_PRIVATE on the vfs internal mount Eric B Munson
2009-08-26 10:44 ` [PATCH 2/3] Add MAP_HUGETLB for mmaping pseudo-anonymous huge page regions Eric B Munson
2009-08-26 10:44 ` [PATCH 3/3] Add MAP_HUGETLB example Eric B Munson
2009-08-31 19:49 ` [PATCH 2/3] Add MAP_HUGETLB for mmaping pseudo-anonymous huge page regions Hugh Dickins
2009-09-01 9:46 ` Eric B Munson
2009-09-01 10:41 ` Hugh Dickins
2009-09-01 13:08 ` Eric B Munson
2009-09-01 13:34 ` Hugh Dickins
2009-09-02 8:34 ` Arnd Bergmann
2009-09-09 9:16 ` [PATCH] MAP_HUGETLB value collision fix Eric B Munson
2009-09-15 10:46 ` [PATCH] Fix for hugetlb-add-map_hugetlb-for-mmaping-pseudo-anonymous-huge-page-regions.patch in -mm Eric B Munson
2009-09-15 20:53 ` Hugh Dickins
2010-02-08 22:56 ` Randy Dunlap
2010-02-09 15:01 ` Arnd Bergmann
2009-09-02 12:15 ` [PATCH] MAP_HUGETLB value collision fix Eric B Munson
2009-08-27 14:18 ` [PATCH 1/3] hugetlbfs: Allow the creation of files suitable for MAP_PRIVATE on the vfs internal mount Mel Gorman
2009-08-27 15:11 ` Eric B Munson
-- strict thread matches above, loose matches on Subject: below --
2009-08-25 11:14 [PATCH 0/3] Add pseudo-anonymous huge page mappings V4 Eric B Munson
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=cover.1251282769.git.ebmunson@us.ibm.com \
--to=ebmunson@us.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-man@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mtk.manpages@gmail.com \
--cc=randy.dunlap@oracle.com \
/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).