From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5FAA4A04B1; Fri, 28 Aug 2020 15:10:35 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 8D96E1C1D2; Fri, 28 Aug 2020 15:10:34 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id AD3231C1C9 for ; Fri, 28 Aug 2020 15:10:32 +0200 (CEST) IronPort-SDR: NEpnK33zGOVZI+qPYUBCSLwkOPuQqnT5PvMFg9i6I6WH+y/pweeMXD6hHmvo1p9LT7mqnuG9NH ANRJK8UjS/rw== X-IronPort-AV: E=McAfee;i="6000,8403,9726"; a="154074723" X-IronPort-AV: E=Sophos;i="5.76,363,1592895600"; d="scan'208";a="154074723" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Aug 2020 06:10:30 -0700 IronPort-SDR: zFOKxPiZwNYg+48o4kGyzq1o7PQO8WZtEyVaxkcah+JYgqyB8qORkSpr10y4GORNZJQ22NvAOC 3KVIDIl93xSw== X-IronPort-AV: E=Sophos;i="5.76,363,1592895600"; d="scan'208";a="444830968" Received: from bricha3-mobl.ger.corp.intel.com ([10.252.22.193]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-SHA; 28 Aug 2020 06:10:29 -0700 Date: Fri, 28 Aug 2020 14:10:26 +0100 From: Bruce Richardson To: Juraj =?utf-8?Q?Linke=C5=A1?= Cc: "dev@dpdk.org" , yskoh@mellanox.com, honnappa.nagarahalli@arm.com Message-ID: <20200828131026.GD575@bricha3-MOBL.ger.corp.intel.com> References: <20200828102002.GB575@bricha3-MOBL.ger.corp.intel.com> <20200828102940.GC575@bricha3-MOBL.ger.corp.intel.com> <8840412472dd4381a0814d315c5d0e21@pantheon.tech> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <8840412472dd4381a0814d315c5d0e21@pantheon.tech> Subject: Re: [dpdk-dev] DPDK 20.08 meson build testpmd not detecting all NUMA nodes X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Fri, Aug 28, 2020 at 11:11:36AM +0000, Juraj Linkeš wrote: > > > > -----Original Message----- From: Bruce Richardson > > Sent: Friday, August 28, 2020 12:30 PM To: > > Juraj Linkeš Cc: dev@dpdk.org Subject: Re: > > [dpdk-dev] DPDK 20.08 meson build testpmd not detecting all NUMA nodes > > > > On Fri, Aug 28, 2020 at 11:20:02AM +0100, Bruce Richardson wrote: > > > On Fri, Aug 28, 2020 at 09:26:12AM +0000, Juraj Linkeš wrote: > > > > Hello DPDK devs, > > > > > > > > I've meson built (using just meson build && ninja -C build) > > > > dpdk-20.08 > > (downloaded from the site) on a Taishan arm server and dpdk-testpmd is > > incorrectly detecting NUMA nodes on the system: > > > > EAL: Detected 16 lcore(s) EAL: Detected 1 NUMA nodes > > > > > > > > lscpu report 4 NUMA nodes: NUMA node0 CPU(s): 0-15 NUMA node1 > > > > CPU(s): 16-31 NUMA node2 CPU(s): 32-47 NUMA node3 CPU(s): > > > > 48-63 > > > > > > > > When built with make T=arm64-armv8a-linuxapp-gcc testpmd is > > > > detecting > > NUMA nodes correctly: > > > > EAL: Detected 64 lcore(s) EAL: Detected 4 NUMA nodes > > > > > > > > Any idea what's the difference between the builds? I've looked at > > > > NUMA > > config options but those seem ok to me: > > > > grep NUMA arm64-armv8a-linuxapp-gcc/.config > > > > build/rte_build_config.h > > > > arm64-armv8a-linuxapp-gcc/.config:CONFIG_RTE_MAX_NUMA_NODES=8 > > > > arm64-armv8a-linuxapp-gcc/.config:# a "type" is a combination of > > > > page size and NUMA node. total number of memseg > > > > arm64-armv8a-linuxapp- > > gcc/.config:CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGE > > > > S=y arm64-armv8a-linuxapp- > > gcc/.config:CONFIG_RTE_LIBRTE_VHOST_NUMA=y > > > > build/rte_build_config.h:#define RTE_EAL_NUMA_AWARE_HUGEPAGES 1 > > > > build/rte_build_config.h:#define RTE_HAS_LIBNUMA 1 > > > > build/rte_build_config.h:#define RTE_LIBRTE_VHOST_NUMA 1 > > > > build/rte_build_config.h:#define RTE_MAX_NUMA_NODES 4 > > > > > > > > Any pointers are welcome. > > > > > > > What is the max lcores value in your build config? Do you know what > > > settings are being chosen for your platform in > > > config/arm/meson.build? > > > > > By way of follow-up, the reason to look at the cores is that the number > > of numa nodes is detected simply by iterating through all the cores > > discovered and finding out what NUMA node they are on. If only 16 cores > > are allowed, then only one NUMA node will be found because all cores > > discovered will report that as their NUMA location. > > > > /Bruce > > Thanks Bruce, RTE_MAX_LCORE is being set only to 16 (line 39 in > config/arm/meson.build), so that's the cause. Why is this used in native > builds? Shouldn't this be discovered? > > I any case, setting it statically for implementer 0x41 seems wrong, as > there's a big variety different processors under it: > https://github.com/bp0/armids/blob/master/arm.ids > Sorry, no idea about this, since I don't generally work on/with the arm/meson.build file. Looking at git, that particular value seems to come from commit d97108a33231 ("config: change defaults of armv8"), so perhaps check with the author and reviewer of that patch. [Adding them on CC] Regards, /Bruce