From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933118AbbGJU3m (ORCPT ); Fri, 10 Jul 2015 16:29:42 -0400 Received: from mga09.intel.com ([134.134.136.24]:60481 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932579AbbGJU3c (ORCPT ); Fri, 10 Jul 2015 16:29:32 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.15,449,1432623600"; d="scan'208";a="522202490" From: Matthew Wilcox To: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Matthew Wilcox Subject: [PATCH 00/10] Huge page support for DAX files Date: Fri, 10 Jul 2015 16:29:15 -0400 Message-Id: <1436560165-8943-1-git-send-email-matthew.r.wilcox@intel.com> X-Mailer: git-send-email 2.1.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Matthew Wilcox This series of patches adds support for using PMD page table entries to map DAX files. We expect NV-DIMMs to start showing up that are many gigabytes in size and the memory consumption of 4kB PTEs will be astronomical. The patch series leverages much of the Transparant Huge Pages infrastructure, going so far as to borrow one of Kirill's patches from his THP page cache series. The ext2 and XFS patches are merely compile tested. The ext4 code has survived the NVML test suite, some Trinity testing and an xfstests run. Kirill A. Shutemov (1): thp: vma_adjust_trans_huge(): adjust file-backed VMA too Matthew Wilcox (9): dax: Move DAX-related functions to a new header thp: Prepare for DAX huge pages mm: Add a pmd_fault handler mm: Export various functions for the benefit of DAX mm: Add vmf_insert_pfn_pmd() dax: Add huge page fault support ext2: Huge page fault support ext4: Huge page fault support xfs: Huge page fault support Documentation/filesystems/dax.txt | 7 +- fs/block_dev.c | 1 + fs/dax.c | 152 ++++++++++++++++++++++++++++++++++++++ fs/ext2/file.c | 10 ++- fs/ext2/inode.c | 1 + fs/ext4/file.c | 11 ++- fs/ext4/indirect.c | 1 + fs/ext4/inode.c | 1 + fs/xfs/xfs_buf.h | 1 + fs/xfs/xfs_file.c | 30 +++++++- fs/xfs/xfs_trace.h | 1 + include/linux/dax.h | 39 ++++++++++ include/linux/fs.h | 14 ---- include/linux/huge_mm.h | 23 +++--- include/linux/mm.h | 2 + mm/huge_memory.c | 100 ++++++++++++++++++------- mm/memory.c | 30 ++++++-- 17 files changed, 362 insertions(+), 62 deletions(-) create mode 100644 include/linux/dax.h -- 2.1.4