From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 3A7592216D8FC for ; Fri, 15 Dec 2017 06:05:22 -0800 (PST) From: Christoph Hellwig Subject: revamp vmem_altmap / dev_pagemap handling V2 Date: Fri, 15 Dec 2017 15:09:30 +0100 Message-Id: <20171215140947.26075-1-hch@lst.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: linux-nvdimm-bounces@lists.01.org Sender: "Linux-nvdimm" To: Dan Williams Cc: linux-nvdimm@lists.01.org, x86@kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= , linuxppc-dev@lists.ozlabs.org List-ID: Hi all, this series started with two patches from Logan that now are in the middle of the series to kill the memremap-internal pgmap structure and to redo the dev_memreamp_pages interface to be better suitable for future PCI P2P uses. I reviewed them and noticed that there isn't really any good reason to keep struct vmem_altmap either, and that a lot of these alternative device page map access should be better abstracted out instead of being sprinkled all over the mm code. But when we got the RCU warnings in V1 I went for yet another approach, and now struct vmem_altmap is kept for now, but passed explicitly through the memory hotplug code instead of having to do unprotected lookups through the radix tree. The end result is that only the get_user_pages path ever looks up struct dev_pagemap, and struct vmem_altmap is now always embedded into struct dev_pagemap, and explicitly passed where needed. Please review carefully, this has only been tested with my legacy e820 NVDIMM system. _______________________________________________ Linux-nvdimm mailing list Linux-nvdimm@lists.01.org https://lists.01.org/mailman/listinfo/linux-nvdimm