Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp2156663yba; Wed, 3 Apr 2019 02:27:41 -0700 (PDT) X-Google-Smtp-Source: APXvYqwU6rKlJczsA55RFJFAu1pibtF75mxYHskjFpFtYINngIfPY4XRtPzZwJLK0qmSnrEk4ANx X-Received: by 2002:a63:6f0a:: with SMTP id k10mr49121312pgc.78.1554283661037; Wed, 03 Apr 2019 02:27:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554283661; cv=none; d=google.com; s=arc-20160816; b=Djb4eJ1sXHQ2YsiB68pd0gFFU0k5H51OncBB2eYDIWauSxQYjGPnTYBxJjTCL81rPC XoXkkSkP1ZKJguYdY5cbPJ9m7PU0KQygeDw4ZG0uR8XjEx1CVp8RRkJxhW+I3YioL6kL XiD2UN+tgsiTedh4sNCFKHJggaOyTUgzA+bYi9z+QucRaVLDXqF3OM2EBKPK4W01cTd0 RQ0DBDdMTiRDeZiyeLJ0Wwh56X4ZxGi7NBjfCE8UyUWJioP1jnEGf1pQcEoikv2kPY5M SAa5op8b1WpLrx0yQ5LI/Y2bnTeNYKxxiZhNtN/YTIXCNqgmL3450v1/QNc4lYa1xoQn xvHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=f25rm1ONVLtMjth1BSWkFBZwflnIyxQ8+XdUsg5dnME=; b=WVE4+CkirSLhlhwMZt17qbf8NDJJXWgFoTbag62IysLWcekYUx04L4MfdxXmZRe2be +iPi120Lc69n/ZZbEkUBxNwKvbIaH/cJXLiumF3Ri2m++DB2yXTJbVvh8UzarcYPWA9C qzq87gtXA+q02RbGEn2aOGp739EAXILxW5MoZiBkPwDj17oDUE0zKeUSsHn9aBbaGCNJ 0khnyG40S0f+gTSz8XybVJKR/op+xuvvERPnsYZq9IhnyJebs0y8+FzaRz/9ue54fQaE lvolNu4mx9TZSUKi3r6iUBp0g1m+W/r/ifxAIFOQ9mp2Os1dF14f88Edfqemzy+ahYSb z3sQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k12si12996616pls.436.2019.04.03.02.27.25; Wed, 03 Apr 2019 02:27:41 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726168AbfDCJ0t (ORCPT + 99 others); Wed, 3 Apr 2019 05:26:49 -0400 Received: from mx2.suse.de ([195.135.220.15]:59174 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725940AbfDCJ0t (ORCPT ); Wed, 3 Apr 2019 05:26:49 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id E3EE1AD62; Wed, 3 Apr 2019 09:26:46 +0000 (UTC) Date: Wed, 3 Apr 2019 11:26:44 +0200 From: Michal Hocko To: Anshuman Khandual Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org, akpm@linux-foundation.org, will.deacon@arm.com, catalin.marinas@arm.com, mgorman@techsingularity.net, james.morse@arm.com, mark.rutland@arm.com, robin.murphy@arm.com, cpandya@codeaurora.org, arunks@codeaurora.org, dan.j.williams@intel.com, osalvador@suse.de, logang@deltatee.com, pasha.tatashin@oracle.com, david@redhat.com, cai@lca.pw Subject: Re: [PATCH 5/6] mm/memremap: Rename and consolidate SECTION_SIZE Message-ID: <20190403092644.GH15605@dhcp22.suse.cz> References: <1554265806-11501-1-git-send-email-anshuman.khandual@arm.com> <1554265806-11501-6-git-send-email-anshuman.khandual@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1554265806-11501-6-git-send-email-anshuman.khandual@arm.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed 03-04-19 10:00:05, Anshuman Khandual wrote: > From: Robin Murphy > > Enabling ZONE_DEVICE (through ARCH_HAS_ZONE_DEVICE) for arm64 reveals that > memremap's internal helpers for sparsemem sections conflict with arm64's > definitions for hugepages which inherit the name of "sections" from earlier > versions of the ARM architecture. > > Disambiguate memremap by propagating sparsemem's PA_ prefix, to clarify > that these values are in terms of addresses rather than PFNs (and > because it's a heck of a lot easier than changing all the arch code). > SECTION_MASK is unused, so it can just go. While here consolidate single > instance of PA_SECTION_SIZE from mm/hmm.c as well. > > [anshuman: Consolidated mm/hmm.c instance and updated the commit message] Agreed. mremap shouldn't have redefined SECTION_SIZE in the first place. This just adds a confusion. > Signed-off-by: Robin Murphy > Signed-off-by: Anshuman Khandual Acked-by: Michal Hocko > --- > include/linux/mmzone.h | 1 + > kernel/memremap.c | 10 ++++------ > mm/hmm.c | 2 -- > 3 files changed, 5 insertions(+), 8 deletions(-) > > diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h > index fba7741..ed7dd27 100644 > --- a/include/linux/mmzone.h > +++ b/include/linux/mmzone.h > @@ -1081,6 +1081,7 @@ static inline unsigned long early_pfn_to_nid(unsigned long pfn) > * PFN_SECTION_SHIFT pfn to/from section number > */ > #define PA_SECTION_SHIFT (SECTION_SIZE_BITS) > +#define PA_SECTION_SIZE (1UL << PA_SECTION_SHIFT) > #define PFN_SECTION_SHIFT (SECTION_SIZE_BITS - PAGE_SHIFT) > > #define NR_MEM_SECTIONS (1UL << SECTIONS_SHIFT) > diff --git a/kernel/memremap.c b/kernel/memremap.c > index a856cb5..dda1367 100644 > --- a/kernel/memremap.c > +++ b/kernel/memremap.c > @@ -14,8 +14,6 @@ > #include > > static DEFINE_XARRAY(pgmap_array); > -#define SECTION_MASK ~((1UL << PA_SECTION_SHIFT) - 1) > -#define SECTION_SIZE (1UL << PA_SECTION_SHIFT) > > #if IS_ENABLED(CONFIG_DEVICE_PRIVATE) > vm_fault_t device_private_entry_fault(struct vm_area_struct *vma, > @@ -98,8 +96,8 @@ static void devm_memremap_pages_release(void *data) > put_page(pfn_to_page(pfn)); > > /* pages are dead and unused, undo the arch mapping */ > - align_start = res->start & ~(SECTION_SIZE - 1); > - align_size = ALIGN(res->start + resource_size(res), SECTION_SIZE) > + align_start = res->start & ~(PA_SECTION_SIZE - 1); > + align_size = ALIGN(res->start + resource_size(res), PA_SECTION_SIZE) > - align_start; > > nid = page_to_nid(pfn_to_page(align_start >> PAGE_SHIFT)); > @@ -154,8 +152,8 @@ void *devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap) > if (!pgmap->ref || !pgmap->kill) > return ERR_PTR(-EINVAL); > > - align_start = res->start & ~(SECTION_SIZE - 1); > - align_size = ALIGN(res->start + resource_size(res), SECTION_SIZE) > + align_start = res->start & ~(PA_SECTION_SIZE - 1); > + align_size = ALIGN(res->start + resource_size(res), PA_SECTION_SIZE) > - align_start; > align_end = align_start + align_size - 1; > > diff --git a/mm/hmm.c b/mm/hmm.c > index fe1cd87..ef9e4e6 100644 > --- a/mm/hmm.c > +++ b/mm/hmm.c > @@ -33,8 +33,6 @@ > #include > #include > > -#define PA_SECTION_SIZE (1UL << PA_SECTION_SHIFT) > - > #if IS_ENABLED(CONFIG_HMM_MIRROR) > static const struct mmu_notifier_ops hmm_mmu_notifier_ops; > > -- > 2.7.4 > -- Michal Hocko SUSE Labs