|
|
Log in / Subscribe / Register

Add mmap(MAP_CONTIG) support

From:  Mike Kravetz <mike.kravetz-AT-oracle.com>
To:  linux-mm-AT-kvack.org, linux-kernel-AT-vger.kernel.org, linux-api-AT-vger.kernel.org
Subject:  [RFC PATCH 0/3] Add mmap(MAP_CONTIG) support
Date:  Wed, 11 Oct 2017 18:46:08 -0700
Message-ID:  <20171012014611.18725-1-mike.kravetz@oracle.com>
Cc:  Marek Szyprowski <m.szyprowski-AT-samsung.com>, Michal Nazarewicz <mina86-AT-mina86.com>, "Aneesh Kumar K . V" <aneesh.kumar-AT-linux.vnet.ibm.com>, Joonsoo Kim <iamjoonsoo.kim-AT-lge.com>, Guy Shattah <sguy-AT-mellanox.com>, Christoph Lameter <cl-AT-linux.com>, Anshuman Khandual <khandual-AT-linux.vnet.ibm.com>, Laura Abbott <labbott-AT-redhat.com>, Vlastimil Babka <vbabka-AT-suse.cz>, Mike Kravetz <mike.kravetz-AT-oracle.com>

The following is a 'possible' way to add such functionality.  I just
did what was easy and pre-allocated contiguous pages which are used
to populate the mapping.  I did not use any of the higher order
allocators such as alloc_contig_range.  Therefore, it is limited to
allocations of MAX_ORDER size.  Also, the allocations should probably
be done outside mmap_sem but that was the easiest place to do it in
this quick and easy POC.

I just wanted to throw out some code to get further ideas.  It is far
from complete.

Mike Kravetz (3):
  mm/map_contig: Add VM_CONTIG flag to vma struct
  mm/map_contig: Use pre-allocated pages for VM_CONTIG mappings
  mm/map_contig: Add mmap(MAP_CONTIG) support

 include/linux/mm.h              |  1 +
 include/uapi/asm-generic/mman.h |  1 +
 kernel/fork.c                   |  2 +-
 mm/memory.c                     | 13 +++++-
 mm/mmap.c                       | 94 +++++++++++++++++++++++++++++++++++++++++
 5 files changed, 109 insertions(+), 2 deletions(-)

-- 
2.13.6



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