Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757807AbcCCVx3 (ORCPT ); Thu, 3 Mar 2016 16:53:29 -0500 Received: from mga02.intel.com ([134.134.136.20]:16430 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753474AbcCCVx2 (ORCPT ); Thu, 3 Mar 2016 16:53:28 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,533,1449561600"; d="scan'208";a="926357637" Subject: [PATCH v2 0/3] libnvdimm, pfn: support section misaligned pmem From: Dan Williams To: linux-nvdimm@ml01.01.org Cc: Haozhong Zhang , Ross Zwisler , linux-kernel@vger.kernel.org, Toshi Kani , linux-mm@kvack.org Date: Thu, 03 Mar 2016 13:53:04 -0800 Message-ID: <20160303215304.1014.69931.stgit@dwillia2-desk3.amr.corp.intel.com> User-Agent: StGit/0.17.1-9-g687f MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1336 Lines: 35 Permit platforms with section-misaligned persistent memory to establish memory-mode (pfn) namespaces. This sacrifices 64-128MB of pmem to gain third-party DMA/RDMA support. Changes since v1 [1]: 1/ Dropped "mm: fix mixed zone detection in devm_memremap_pages" since it was pulled into Andrew's tree. 2/ Moved CONFIG_SPARSEMEM #ifdef guards into drivers/nvdimm/pfn.h 3/ Added "libnvdimm, pmem: adjust for section collisions with 'System RAM'", i.e. support for reserving head and tail capacity out of a namespace to permit a section aligned range to be used for a 'pfn'-device instance. 4/ Added 'resource' and 'size' attributes to an active pfn instance. [1]: https://lists.01.org/pipermail/linux-nvdimm/2016-February/004727.html This series is built on top of tip.git/core/resources. --- Dan Williams (3): libnvdimm, pmem: fix 'pfn' support for section-misaligned namespaces libnvdimm, pmem: adjust for section collisions with 'System RAM' libnvdimm, pfn: 'resource'-address and 'size' attributes for pfn devices drivers/nvdimm/namespace_devs.c | 7 ++ drivers/nvdimm/pfn.h | 23 ++++++ drivers/nvdimm/pfn_devs.c | 61 ++++++++++++++++ drivers/nvdimm/pmem.c | 145 ++++++++++++++++++++++++++++++--------- 4 files changed, 200 insertions(+), 36 deletions(-)