Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp5592305imu; Wed, 26 Dec 2018 05:40:16 -0800 (PST) X-Google-Smtp-Source: ALg8bN6SUdlEmnqTpvgf9TI0CdL2XpSDvF+3m3WcAO7tfXTyekA+tvdQByHdJMz3u67/77pJGdkV X-Received: by 2002:a63:62c4:: with SMTP id w187mr17490185pgb.230.1545831616341; Wed, 26 Dec 2018 05:40:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1545831616; cv=none; d=google.com; s=arc-20160816; b=zzBHHH/DLwBj3zAaUQQ04qXzXHWblMMpd1fTdM8wiI4Dfe2bOc9HCVq5L1Ph+agksI Vj/xQhlWVyFIxKHTJ7yO6laqnyLAb1CzRH2V5rL68pLaEpIVH8k61Ev90bqHUxVtKRfT Feya6vRgVZI6Hjlpnwfasbb5PhZyc3SMSrdd18WvFfne14uEEsrCdHbM0qLxCQ5KINGQ HZ3Ko8S2reiKVQE/8Gh4p3zqL9GRM9JxLVGEdXmr4K/do2vZLchDZtB9qnQK6lkIiXJ9 IMIirtHXhLpMoXlEWztiNREJ3fpxDbadY6rYjD98f+MQHwYT45FtHrdX6mY59Od8d6qH cbBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-disposition:mime-version :references:subject:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc:to:from:date :user-agent:message-id; bh=bLqbS/PT6+OZn4Cd5ognINxOjsGpaTLmfW4Gzyha0A4=; b=PgwzluRt/IFE4HsA+tjKC8xl6TXvs16t97EihCaWBMZlhk6FZLPXeUUlYURPQXoSNl PSn8zELoXX1pLvpNqnEjz34ZbgH6N3yl65TsTWLChoj+w6TaGjDVCVN1aoXTN8ft+CWT d9vItk93tjoADYfQ1Um+kKYsHVg3rYcDgqGAT5YsSrl7UdtBL5GYJuYVxW9p4PxbgEvq FD7iy8oSjK9E7KB4UgZmFJzeVKFwFdD3WYW53z9CPIgmikGCFNRBrDr2Gb+P5eeFvvhg e7D35v5PJavV7R0NQ4mKxKxRSB5vlUVWzLMzNK7QfdIHzcof0Hqcg4B2pNim/1eIy91w +g4w== 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=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y126si30319286pgb.165.2018.12.26.05.40.01; Wed, 26 Dec 2018 05:40:16 -0800 (PST) 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=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727016AbeLZNhI (ORCPT + 99 others); Wed, 26 Dec 2018 08:37:08 -0500 Received: from mga04.intel.com ([192.55.52.120]:33941 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726910AbeLZNhG (ORCPT ); Wed, 26 Dec 2018 08:37:06 -0500 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Dec 2018 05:37:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,400,1539673200"; d="scan'208";a="121185460" Received: from wangdan1-mobl1.ccr.corp.intel.com (HELO wfg-t570.sh.intel.com) ([10.254.210.154]) by FMSMGA003.fm.intel.com with ESMTP; 26 Dec 2018 05:37:01 -0800 Received: from wfg by wfg-t570.sh.intel.com with local (Exim 4.89) (envelope-from ) id 1gc9Mr-0005Nz-7S; Wed, 26 Dec 2018 21:37:01 +0800 Message-Id: <20181226133351.164047705@intel.com> User-Agent: quilt/0.65 Date: Wed, 26 Dec 2018 21:14:48 +0800 From: Fengguang Wu To: Andrew Morton cc: Linux Memory Management List , Fan Du , Fengguang Wu cc: kvm@vger.kernel.org Cc: LKML cc: Yao Yuan cc: Peng Dong cc: Huang Ying CC: Liu Jingqi cc: Dong Eddie cc: Dave Hansen cc: Zhang Yi cc: Dan Williams Subject: [RFC][PATCH v2 02/21] acpi/numa: memorize NUMA node type from SRAT table References: <20181226131446.330864849@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline; filename=0002-acpi-Memorize-numa-node-type-from-SRAT-table.patch Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Fan Du Mark NUMA node as DRAM or PMEM. This could happen in boot up state (see the e820 pmem type override patch), or on fly when bind devdax device with kmem driver. It depends on BIOS supplying PMEM NUMA proximity in SRAT table, that's current production BIOS does. Signed-off-by: Fan Du Signed-off-by: Fengguang Wu --- arch/x86/include/asm/numa.h | 2 ++ arch/x86/mm/numa.c | 2 ++ drivers/acpi/numa.c | 5 +++++ 3 files changed, 9 insertions(+) --- linux.orig/arch/x86/include/asm/numa.h 2018-12-23 19:20:39.890947888 +0800 +++ linux/arch/x86/include/asm/numa.h 2018-12-23 19:20:39.890947888 +0800 @@ -30,6 +30,8 @@ extern int numa_off; */ extern s16 __apicid_to_node[MAX_LOCAL_APIC]; extern nodemask_t numa_nodes_parsed __initdata; +extern nodemask_t numa_nodes_pmem; +extern nodemask_t numa_nodes_dram; extern int __init numa_add_memblk(int nodeid, u64 start, u64 end); extern void __init numa_set_distance(int from, int to, int distance); --- linux.orig/arch/x86/mm/numa.c 2018-12-23 19:20:39.890947888 +0800 +++ linux/arch/x86/mm/numa.c 2018-12-23 19:20:39.890947888 +0800 @@ -20,6 +20,8 @@ int numa_off; nodemask_t numa_nodes_parsed __initdata; +nodemask_t numa_nodes_pmem; +nodemask_t numa_nodes_dram; struct pglist_data *node_data[MAX_NUMNODES] __read_mostly; EXPORT_SYMBOL(node_data); --- linux.orig/drivers/acpi/numa.c 2018-12-23 19:20:39.890947888 +0800 +++ linux/drivers/acpi/numa.c 2018-12-23 19:20:39.890947888 +0800 @@ -297,6 +297,11 @@ acpi_numa_memory_affinity_init(struct ac node_set(node, numa_nodes_parsed); + if (ma->flags & ACPI_SRAT_MEM_NON_VOLATILE) + node_set(node, numa_nodes_pmem); + else + node_set(node, numa_nodes_dram); + pr_info("SRAT: Node %u PXM %u [mem %#010Lx-%#010Lx]%s%s\n", node, pxm, (unsigned long long) start, (unsigned long long) end - 1,