|
|
Log in / Subscribe / Register

Huge page support for DAX

From:  Matthew Wilcox <matthew.r.wilcox@intel.com>
To:  linux-fsdevel@vger.kernel.org, linux-kernel@vger.krenel.org, linux-mm@kvack.org
Subject:  [PATCH v1 0/7] Huge page support for DAX
Date:  Wed, 8 Oct 2014 09:25:22 -0400
Message-ID:  <1412774729-23956-1-git-send-email-matthew.r.wilcox@intel.com>
Cc:  Matthew Wilcox <willy@linux.intel.com>
Archive‑link:  Article

From: Matthew Wilcox <willy@linux.intel.com>

This patchset, on top of the v11 DAX patchset I posted recently, adds
support for transparent huge pages.  In-memory databases and HPC apps are
particularly fond of using huge pages for their massive data sets.

The actual DAX code here is not how I want it to be, for example it
will allocate on read-faults instead of using zero pages to fill until
we have a write fault (which is going to prove tricky without at least
some of Kirill's patches for supporting huge pages in the page cache).

I'm posting this for review now since I clearly don't understand the
Linux MM very well and I'm expecting to be told I've done all the huge
memory bits wrongly :-)

I'd like to thank Kirill for all his helpful suggestions ... I may not
have taken all of them, but this would be in a lot worse shape without
him.

The first patch is from Kirill's patchset to allow huge pages in the
page cache.  Patches 2-4 are the ones that touch the MM and I'd really
like reviewed.  Patch 5 is the DAX code that is easily critiqued, and
patches 6 & 7 are very boring, just hooking up the dax-hugepage code to
ext2 & ext4.

Kirill A. Shutemov (1):
  thp: vma_adjust_trans_huge(): adjust file-backed VMA too

Matthew Wilcox (6):
  mm: Prepare for DAX huge pages
  mm: Add vm_insert_pfn_pmd()
  mm: Add a pmd_fault handler
  dax: Add huge page fault support
  ext2: Huge page fault support
  ext4: Huge page fault support

 Documentation/filesystems/dax.txt |   7 +-
 arch/x86/include/asm/pgtable.h    |  10 +++
 fs/dax.c                          | 133 ++++++++++++++++++++++++++++++++++++++
 fs/ext2/file.c                    |   9 ++-
 fs/ext4/file.c                    |   9 ++-
 include/linux/fs.h                |   2 +
 include/linux/huge_mm.h           |  11 +---
 include/linux/mm.h                |   4 ++
 mm/huge_memory.c                  |  53 +++++++++------
 mm/memory.c                       |  63 ++++++++++++++++--
 10 files changed, 262 insertions(+), 39 deletions(-)

-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



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