Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp1543785rwd; Tue, 16 May 2023 20:00:35 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5WIt9AASHD99cQ3WT+mvXnhelBcFFgrTND6MgHADtCz46C3SNxXj25ugoxM0nKUtkjePM5 X-Received: by 2002:a17:903:2292:b0:1a1:bff4:49e9 with SMTP id b18-20020a170903229200b001a1bff449e9mr54195790plh.23.1684292435037; Tue, 16 May 2023 20:00:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684292435; cv=none; d=google.com; s=arc-20160816; b=NRr1rm5ngkzeGS72Qkt+rmAuy0q/dv/hUZGqu71XqiE2JLISIVyQhzvKE8PkjCRKEu LU4+U7rOdmLxeKYKU6H/28OqXUx8QaamTDP5L/q7KIdUMC0dHNw1K17YwI2WjcRigXxo xqCUaYbvYt+VmyAE9//ihTs5vXLutkb4Vns6azz2fsqZhrmco39l223P9xKxTBI+uFFe ylL8EpZYM9goTMsEpAzwJtzdyyej9LPZfNx+J+ZeWCqqazPZUnSRZlo8z4NPDXi8anaP JoDY8Y5Rsh8qNNNK9E33Pmg5+76TF+5IATa81TD/SJav1o3PxE2zy0k06zWAShvVa42Q TKdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:cc:to:subject:message-id :from:content-transfer-encoding:date:dkim-signature:mime-version; bh=EsjCPqdF40VbunsnjYkM84s06frJ/PE3tIX8ln1mLtg=; b=dvTxO1EVwnDZYylfGFrtdGLlQQyZY0HmzoXxK9gt/3cPwBw9Nm8LF36EmA35ObwJtF LfQlMge/RPOYn7nvmnN37x8XyqyfYbYRh84R/+5FNEQcRyULHChIMEqK8lVXZjaRsB5o lBWS8nMMNOQw6orbF5mWAO1ybaYkOFr/voPU9G51WNEHmr9nrUrx5DSIcs+RH+AosKJW 6U6+f6zDAdLBrHprgo7Og8+6+CAmcezneiJGicHJEAYblCCiGnNoFLMoDePhykJwgwP1 BXlErc1W9ffZj3js/YxJjxLObPV8pQTjV+QhdZ92wXYG+E2nRfTcXF6oLPpgBeYTpw43 qSiw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b="u/2LVRmh"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b6-20020a170902b60600b001ab0c00aec4si12075766pls.482.2023.05.16.20.00.19; Tue, 16 May 2023 20:00:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b="u/2LVRmh"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232180AbjEQCty (ORCPT + 99 others); Tue, 16 May 2023 22:49:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34462 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231715AbjEQCtv (ORCPT ); Tue, 16 May 2023 22:49:51 -0400 X-Greylist: delayed 67303 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Tue, 16 May 2023 19:49:50 PDT Received: from out-4.mta0.migadu.com (out-4.mta0.migadu.com [91.218.175.4]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 67B73110 for ; Tue, 16 May 2023 19:49:50 -0700 (PDT) MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1684291788; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=EsjCPqdF40VbunsnjYkM84s06frJ/PE3tIX8ln1mLtg=; b=u/2LVRmhcj6ji42+Sypiqe+H+fGDwKhUxX5ugAbRDYH+axy3T+GMXgaXvH9omlrPL/AANS Xqf7jvnjHAKwQXhIf3PW1UFg6gC621lO9NmxM40leVC0L2NFOomNJhjRV4HWhpnnPekxGM daiQXXsVo6PLRxMqC7yZ5sVy8b2K0Yg= Date: Wed, 17 May 2023 02:49:47 +0000 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: "Yajun Deng" Message-ID: Subject: Re: [PATCH] EDAC: Expose node link in sysfs if CONFIG_NUMA To: "Luck, Tony" , "Borislav Petkov" Cc: james.morse@arm.com, mchehab@kernel.org, rric@kernel.org, corbet@lwn.net, linux-kernel@vger.kernel.org, linux-edac@vger.kernel.org, linux-doc@vger.kernel.org In-Reply-To: References: <20230516111942.GCZGNmzu3Abd4KmZu3@fat_crate.local> <20230516103403.GBZGNcG7Q1sdtUpcHW@fat_crate.local> <20230516080748.3155788-1-yajun.deng@linux.dev> <3509bcc597e37616cf45247e8f92d369@linux.dev> <20230516121018.GDZGNyqjm9YWQp2Of4@fat_crate.local> X-Migadu-Flow: FLOW_OUT X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org May 17, 2023 1:25 AM, "Luck, Tony" wrote:=0A=0A>>> = If we have '/sys/devices/system/node/node0/mc0', by comparing the number= =0A>>> of dimm and MemTotal in meminfo. It is easy to know that the dimm = didn't=0A>>> recognized whether it belonged to this NUMA node or not.=0A>= > =0A>> mc !=3D NUMA node.=0A> =0A> Modern systems have multiple memory c= ontrollers per socket.=0A> On an Icelake server I see:=0A> =0A> $ cd /sys= /devices/system/edac/mc=0A> $ ls -l=0A> total 0=0A> drwxr-xr-x. 5 root ro= ot 0 May 16 10:13 mc0=0A> drwxr-xr-x. 3 root root 0 May 16 10:13 mc1=0A> = drwxr-xr-x. 5 root root 0 May 16 10:13 mc2=0A> drwxr-xr-x. 3 root root 0 = May 16 10:13 mc3=0A> drwxr-xr-x. 5 root root 0 May 16 10:13 mc4=0A> drwxr= -xr-x. 3 root root 0 May 16 10:13 mc5=0A> drwxr-xr-x. 5 root root 0 May 1= 6 10:13 mc6=0A> drwxr-xr-x. 3 root root 0 May 16 10:13 mc7=0A> drwxr-xr-x= . 2 root root 0 May 16 10:13 power=0A> lrwxrwxrwx. 1 root root 0 May 16 0= 3:11 subsystem -> ../../../../bus/edac=0A> -rw-r--r--. 1 root root 4096 M= ay 16 03:11 uevent=0A> =0A> But I can figure out the socket topology with= :=0A> =0A> $ grep . mc*/mc_name=0A> mc0/mc_name:Intel_10nm Socket#0 IMC#0= =0A> mc1/mc_name:Intel_10nm Socket#0 IMC#1=0A> mc2/mc_name:Intel_10nm Soc= ket#0 IMC#2=0A> mc3/mc_name:Intel_10nm Socket#0 IMC#3=0A> mc4/mc_name:Int= el_10nm Socket#1 IMC#0=0A> mc5/mc_name:Intel_10nm Socket#1 IMC#1=0A> mc6/= mc_name:Intel_10nm Socket#1 IMC#2=0A> mc7/mc_name:Intel_10nm Socket#1 IMC= #3=0A> =0A> I think this should help connect "mc*" to which node=0A> they= belong to.=0A> =0A=0AThanks! =0AYes, mc_name may show the NUMA id, it de= pends on the vendor edac modules.=0A=0AOn the other hand, this directory = '/sys/devices/system/node/node0/' should=0Ashow all resources that belong= to it. It already has cpu and memory symbolic=0Alink. Memory controller = also belongs to one NUMA. The memory controller=0Asymbolic link should ap= pear under node* directory.=0A=0A> -Tony