From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D444CC433E0 for ; Wed, 8 Jul 2020 04:27:58 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 96D372078B for ; Wed, 8 Jul 2020 04:27:58 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=intel-com.20150623.gappssmtp.com header.i=@intel-com.20150623.gappssmtp.com header.b="NuIWqyja" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 96D372078B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 0BC1C6B0098; Wed, 8 Jul 2020 00:27:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 06C8F8D0003; Wed, 8 Jul 2020 00:27:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EC5566B009F; Wed, 8 Jul 2020 00:27:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0244.hostedemail.com [216.40.44.244]) by kanga.kvack.org (Postfix) with ESMTP id D82536B0098 for ; Wed, 8 Jul 2020 00:27:57 -0400 (EDT) Received: from smtpin19.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 9AE4F824934B for ; Wed, 8 Jul 2020 04:27:57 +0000 (UTC) X-FDA: 77013625794.19.cent37_590079426eba Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin19.hostedemail.com (Postfix) with ESMTP id 719661AD1B4 for ; Wed, 8 Jul 2020 04:27:57 +0000 (UTC) X-HE-Tag: cent37_590079426eba X-Filterd-Recvd-Size: 4902 Received: from mail-ej1-f68.google.com (mail-ej1-f68.google.com [209.85.218.68]) by imf45.hostedemail.com (Postfix) with ESMTP for ; Wed, 8 Jul 2020 04:27:56 +0000 (UTC) Received: by mail-ej1-f68.google.com with SMTP id f12so22725183eja.9 for ; Tue, 07 Jul 2020 21:27:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=8dNw96B96eIbQP472P+15i/r4t0gFAYtc8zARUaecF0=; b=NuIWqyjaegQ19QFyhYTJ0y36/0eMyFNfJBL+jmN/1SvmxqjSyG5lJHJdWcy9wXyg4M zy7lOCo2bw1cinVxH1l3+0WrbURYr2eYuQNJEMnxBG3T4CgExMU46UqZQixd1aj78OUM 78/CptqirWWbUEI84ihTiqSnnw6yzzVair+mKB6+l4zzftMrRjKpPkMugswhpdluXKgJ aoVSiSO57Cu3iMf+t6CNs56lDskou5ghNPRZMbdiMiQ41mUM5Re5Cw+4/KfHHF7dgIxH /pgQXq91bIOxcuCa3VaYk2y7noic6S7FI7vxllIz77rUivHIylJMRIgHQ2C2LMe1MUQQ J9aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=8dNw96B96eIbQP472P+15i/r4t0gFAYtc8zARUaecF0=; b=c1If3S+kwMjYmnr5xDw2c5CUxQ6Xs7YvfjYsuQ4KkRtBmDst+2Vns/YptI9TIuyuUO VzOFF9M4vlmzVMwNNySZ5q8mO+DxroYO+dJKb9u5kDC96nmNKQEZ00mCtyuam6SkyJA5 t9QVMQXAg5+qliA7tBnUEYhpcR2iHY8iOwO2HmhoG8RlOIw7oqTp4CBH7nWAxa34SOXM KMUuz7RkKkTlL8zijB6uArbnoQR6CKwasmbBODo8g7+rCMNoDso7C6JeoFUNAjZlBhl+ o5Xgck2vsWnx5J/2r5pcEk072ofOPWF3XCdb+fb/H22Vnn0k5WjjDA9K5bngcQe0lgxd 7iQg== X-Gm-Message-State: AOAM532EwOifIC4oLzriSX2fO185rwIps8n1DEv+6JB6ofvLtmQoTJfU 7MNbn6aC5aHAguClXejSfq3Gt/oKLrWK4RW6TRPuQw== X-Google-Smtp-Source: ABdhPJxJ12SOUFRzJMHcuTFgGn9kWF+1e1N3sSWVya5gGxKC/lxUJ29HEPrjNkOM8G1dgLBXhTdyibVCZ2vfYDKLGIg= X-Received: by 2002:a17:906:da0f:: with SMTP id fi15mr48990019ejb.237.1594182475031; Tue, 07 Jul 2020 21:27:55 -0700 (PDT) MIME-Version: 1.0 References: <20200707055917.143653-1-justin.he@arm.com> <20200707055917.143653-2-justin.he@arm.com> <20200707115454.GN5913@dhcp22.suse.cz> In-Reply-To: From: Dan Williams Date: Tue, 7 Jul 2020 21:27:43 -0700 Message-ID: Subject: Re: [PATCH v2 1/3] arm64/numa: export memory_add_physaddr_to_nid as EXPORT_SYMBOL_GPL To: Justin He Cc: Michal Hocko , David Hildenbrand , Catalin Marinas , Will Deacon , Vishal Verma , Dave Jiang , Andrew Morton , Mike Rapoport , Baoquan He , Chuhong Yuan , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "linux-nvdimm@lists.01.org" , Kaly Xin Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 719661AD1B4 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam03 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, Jul 7, 2020 at 9:08 PM Justin He wrote: [..] > > Especially for architectures that use memblock info for numa info > > (which seems to be everyone except x86) why not implement a generic > > memory_add_physaddr_to_nid() that does: > > > > int memory_add_physaddr_to_nid(u64 addr) > > { > > unsigned long start_pfn, end_pfn, pfn = PHYS_PFN(addr); > > int nid; > > > > for_each_online_node(nid) { > > get_pfn_range_for_nid(nid, &start_pfn, &end_pfn); > > if (pfn >= start_pfn && pfn <= end_pfn) > > return nid; > > } > > return NUMA_NO_NODE; > > } > > Thanks for your suggestion, > Could I wrap the codes and let memory_add_physaddr_to_nid simply invoke > phys_to_target_node()? I think it needs to be the reverse. phys_to_target_node() should call memory_add_physaddr_to_nid() by default, but fall back to searching reserved memory address ranges in memblock. See phys_to_target_node() in arch/x86/mm/numa.c. That one uses numa_meminfo instead of memblock, but the principle is the same i.e. that a target node may not be represented in memblock.memory, but memblock.reserved. I'm working on a patch to provide a function similar to get_pfn_range_for_nid() that operates on reserved memory.