From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ig0-f180.google.com (mail-ig0-f180.google.com [209.85.213.180]) by kanga.kvack.org (Postfix) with ESMTP id C1DE56B0038 for ; Fri, 14 Aug 2015 22:11:28 -0400 (EDT) Received: by igxp17 with SMTP id p17so23766280igx.1 for ; Fri, 14 Aug 2015 19:11:28 -0700 (PDT) Received: from mail-io0-f179.google.com (mail-io0-f179.google.com. [209.85.223.179]) by mx.google.com with ESMTPS id a21si2536095ioa.153.2015.08.14.19.11.27 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Aug 2015 19:11:27 -0700 (PDT) Received: by iodv127 with SMTP id v127so86612666iod.3 for ; Fri, 14 Aug 2015 19:11:27 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: <20150813031253.36913.29580.stgit@otcpl-skl-sds-2.jf.intel.com> <20150813035005.36913.77364.stgit@otcpl-skl-sds-2.jf.intel.com> <20150814213714.GA3265@gmail.com> <20150814220605.GB3265@gmail.com> Date: Fri, 14 Aug 2015 19:11:27 -0700 Message-ID: Subject: Re: [RFC PATCH 1/7] x86, mm: ZONE_DEVICE for "device memory" From: Dan Williams Content-Type: text/plain; charset=UTF-8 Sender: owner-linux-mm@kvack.org List-ID: To: Jerome Glisse Cc: "linux-kernel@vger.kernel.org" , Boaz Harrosh , Rik van Riel , "linux-nvdimm@lists.01.org" , Dave Hansen , david , Ingo Molnar , Linux MM , Ingo Molnar , Mel Gorman , "H. Peter Anvin" , Ross Zwisler , "torvalds@linux-foundation.org" , Christoph Hellwig On Fri, Aug 14, 2015 at 3:33 PM, Dan Williams wrote: > On Fri, Aug 14, 2015 at 3:06 PM, Jerome Glisse wrote: >> On Fri, Aug 14, 2015 at 02:52:15PM -0700, Dan Williams wrote: >>> On Fri, Aug 14, 2015 at 2:37 PM, Jerome Glisse wrote: >>> > On Wed, Aug 12, 2015 at 11:50:05PM -0400, Dan Williams wrote: > [..] >>> > What is the rational for not updating max_pfn, max_low_pfn, ... ? >>> > >>> >>> The idea is that this memory is not meant to be available to the page >>> allocator and should not count as new memory capacity. We're only >>> hotplugging it to get struct page coverage. >> >> But this sounds bogus to me to rely on max_pfn to stay smaller than >> first_dev_pfn. For instance you might plug a device that register >> dev memory and then some regular memory might be hotplug, effectively >> updating max_pfn to a value bigger than first_dev_pfn. >> > > True. > >> Also i do not think that the buddy allocator use max_pfn or max_low_pfn >> to consider page/zone for allocation or not. > > Yes, I took it out with no effects. I'll investigate further whether > we should be touching those variables or not for this new usage. Although it does not offer perfect protection if device memory is at a physically lower address than RAM, skipping the update of these variables does seem to be what we want. For example /dev/mem would fail to allow write access to persistent memory if it fails a valid_phys_addr_range() check. Since /dev/mem does not know how to write to PMEM in a reliably persistent way, it should not treat a PMEM-pfn like RAM. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org