|
|
Subscribe / Log in / New account

1G transparent hugepage support for device dax

From:  Dave Jiang <dave.jiang-ral2JQCrhuEAvxtiuMwx3w-AT-public.gmane.org>
To:  akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b-AT-public.gmane.org
Subject:  [PATCH 0/3] 1G transparent hugepage support for device dax
Date:  Mon, 23 Jan 2017 16:47:18 -0700
Message-ID:  <148521477073.31533.17781371321988910714.stgit@djiang5-desk3.ch.intel.com>
Cc:  mawilcox-0li6OtcxBFHby3iVrkZq2A-AT-public.gmane.org, linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw-AT-public.gmane.org, dave.hansen-VuQAYsv1563Yd54FQh9/CA-AT-public.gmane.org, linux-mm-Bw31MaZKKs3YtjvyW6yDsg-AT-public.gmane.org, kirill.shutemov-VuQAYsv1563Yd54FQh9/CA-AT-public.gmane.org, jack-IBi9RG/b67k-AT-public.gmane.org, vbabka-AlSwsSmVLrQ-AT-public.gmane.org

The following series implements support for 1G trasparent hugepage on
x86 for device dax. The bulk of the code was written by Mathew Wilcox
a while back supporting transparent 1G hugepage for fs DAX. I have
forward ported the relevant bits to 4.10-rc. The current submission has
only the necessary code to support device DAX.

---

Dave Jiang (1):
      dax: Support for transparent PUD pages for device DAX

Matthew Wilcox (2):
      mm,fs,dax: Change ->pmd_fault to ->huge_fault
      mm,x86: Add support for PUD-sized transparent hugepages


 arch/Kconfig                          |    3 
 arch/x86/Kconfig                      |    1 
 arch/x86/include/asm/paravirt.h       |   11 +
 arch/x86/include/asm/paravirt_types.h |    2 
 arch/x86/include/asm/pgtable-2level.h |   17 ++
 arch/x86/include/asm/pgtable-3level.h |   24 +++
 arch/x86/include/asm/pgtable.h        |  145 +++++++++++++++++++
 arch/x86/include/asm/pgtable_64.h     |   15 ++
 arch/x86/kernel/paravirt.c            |    1 
 arch/x86/mm/pgtable.c                 |   31 ++++
 drivers/dax/dax.c                     |   82 ++++++++---
 fs/dax.c                              |   43 ++++--
 fs/ext2/file.c                        |    2 
 fs/ext4/file.c                        |    6 -
 fs/xfs/xfs_file.c                     |   10 +
 fs/xfs/xfs_trace.h                    |    2 
 include/asm-generic/pgtable.h         |   75 +++++++++-
 include/asm-generic/tlb.h             |   14 ++
 include/linux/dax.h                   |    6 -
 include/linux/huge_mm.h               |   83 ++++++++++-
 include/linux/mm.h                    |   40 +++++
 include/linux/mmu_notifier.h          |   14 ++
 include/linux/pfn_t.h                 |    8 +
 mm/gup.c                              |    7 +
 mm/huge_memory.c                      |  249 +++++++++++++++++++++++++++++++++
 mm/memory.c                           |  102 ++++++++++++--
 mm/pagewalk.c                         |   20 +++
 mm/pgtable-generic.c                  |   14 ++
 28 files changed, 952 insertions(+), 75 deletions(-)


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