[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20171109014109.21077-1-mike.kravetz@oracle.com>
Date: Wed, 8 Nov 2017 17:41:06 -0800
From: Mike Kravetz <mike.kravetz@...cle.com>
To: linux-mm@...ck.org, linux-kernel@...r.kernel.org
Cc: Hugh Dickins <hughd@...gle.com>,
Andrea Arcangeli <aarcange@...hat.com>,
Michal Hocko <mhocko@...nel.org>,
Marc-André Lureau <marcandre.lureau@...hat.com>,
David Herrmann <dh.herrmann@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Mike Kravetz <mike.kravetz@...cle.com>
Subject: [RFC PATCH 0/3] restructure memfd code
With the addition of memfd hugetlbfs support, we now have the situation
where memfd depends on TMPFS -or- HUGETLBFS. Previously, memfd was only
supported on tmpfs, so it made sense that the code resides in shmem.c.
This patch series moves the memfd code to separate files (memfd.c and
memfd.h). It creates a new config option MEMFD_CREATE that is defined
if either TMPFS or HUGETLBFS is defined.
In the current code, memfd is only functional if TMPFS is defined. If
HUGETLFS is defined and TMPFS is not defined, then memfd functionality
will not be available for hugetlbfs. This does not cause BUGs, just a
potential lack of desired functionality.
Another way to approach this issue would be to simply make HUGETLBFS
depend on TMPFS.
This patch series is built on top of the Marc-André Lureau v3 series
"memfd: add sealing to hugetlb-backed memory":
http://lkml.kernel.org/r/20171107122800.25517-1-marcandre.lureau@redhat.com
Mike Kravetz (3):
mm: hugetlbfs: move HUGETLBFS_I outside #ifdef CONFIG_HUGETLBFS
mm: memfd: split out memfd for use by multiple filesystems
mm: memfd: remove memfd code from shmem files and use new memfd files
fs/Kconfig | 3 +
fs/fcntl.c | 2 +-
include/linux/hugetlb.h | 27 ++--
include/linux/memfd.h | 16 +++
include/linux/shmem_fs.h | 13 --
mm/Makefile | 1 +
mm/memfd.c | 341 +++++++++++++++++++++++++++++++++++++++++++++++
mm/shmem.c | 323 --------------------------------------------
8 files changed, 378 insertions(+), 348 deletions(-)
create mode 100644 include/linux/memfd.h
create mode 100644 mm/memfd.c
--
2.13.6
Powered by blists - more mailing lists