From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 958A533260C for ; Thu, 26 Feb 2026 17:07:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.8 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772125679; cv=fail; b=AnDZPix463N84uuHj1zN7zrIuz7R8SdCFFYXr5zBvEja4bx6PkCQzgOpY4qpcUsvoi4OI2dCxdYqhvt2sntZK635BLgZsDjg+Doc+1gs5BAa5JLQugkshHIv8YNEXprjQah08v7xdQ6L7OyZKPF7hFU92CLrl6qex4sitMIBFMY= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772125679; c=relaxed/simple; bh=gmffMvW64Krw4wG420+PTKaYzgHCJxhHt6dWosy9oxI=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=eqc9qaZBtZX2d4tl+HaOASgLBnW/4fry6pXL5dG3V7PrJosKhGxbAhrTlpGZiJ0HW2nDP35HtCdenAYDiJ+65rKj9PnrMfvo6q3tuD12rhNYv6LPezUUwRBPTig1IthF3d9ga0ctyVl3IcYBnjKmzCQs0WCWuN8xJluPaYS9B4g= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=R0CWE7sU; arc=fail smtp.client-ip=192.198.163.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="R0CWE7sU" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1772125678; x=1803661678; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=gmffMvW64Krw4wG420+PTKaYzgHCJxhHt6dWosy9oxI=; b=R0CWE7sU3E8sPAEa125f6hVz+Zavyceqbmag4B7RVngdx4/oPFxynLQ7 pYbCvcmRzVQwhY5M9WhYZM4rA8H8NYG/iWPQ0bAeVxnrl+vTSZZBPqVmn +tgA1HO2U5gmvZBeGJde+NJgSuEI59DLh2GEuh5Oec3y0j7Q6wA/AATxD pj743v6dGHc8ppqnIQVSgY4GMUfWdtyvbgT2v81hSKDmA2aK6XaZVaXGj 11vEZVT9r3kqkk2yt1/WLfyr8X3aNYid1S3+CCTCrEe9swM+3/w545Yyr nmJYdmAIM2//J1wYfUzRH7AP8ixTeWgFhGjGYoqEgGZZgIslVH7KU3k8a w==; X-CSE-ConnectionGUID: MDd5fSRbRnqr4/QDto8Mmw== X-CSE-MsgGUID: H+GqgJIpR+emAlx0ZUjf7A== X-IronPort-AV: E=McAfee;i="6800,10657,11713"; a="90776680" X-IronPort-AV: E=Sophos;i="6.21,312,1763452800"; d="scan'208";a="90776680" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Feb 2026 09:07:57 -0800 X-CSE-ConnectionGUID: kN9fv6RqTo+fsIxYY1VXpQ== X-CSE-MsgGUID: GI6CPF3nQL2oUJ78Ar7LVw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,312,1763452800"; d="scan'208";a="216751550" Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24]) by orviesa007.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Feb 2026 09:07:56 -0800 Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Thu, 26 Feb 2026 09:07:56 -0800 Received: from ORSEDG902.ED.cps.intel.com (10.7.248.12) by ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37 via Frontend Transport; Thu, 26 Feb 2026 09:07:56 -0800 Received: from SN4PR2101CU001.outbound.protection.outlook.com (40.93.195.54) by edgegateway.intel.com (134.134.137.112) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Thu, 26 Feb 2026 09:07:55 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Jh92eTBx7V1yp/+0cjyVdW1RAHC03N3+pqKeO232WqDJAOpGP1aBBj1EuJ8gS4i3KassCe50KmP/hMqN0WQE/Mbb5FZK/PLSRcZzaHywgwWLLC2R3hnse43P3Zfz2KdlvC1IiZ+8tQPLlRrhST1ouuPBS6rlG+hQFe33bEyX5nrN8WiLAlTUWBDkNPDb5G7yx1QmF59Vv5HNQ2Xdv7gmF5uB5lzeOYrK8QWW7/Gq+eu3COv2NGu320phkwRB6KICBlnhhriDZuw6z5i/nKK7dz7suNx3GIMNeCFfjyo4pU5myjqWbNvQ18c63fSKdquGKKH6sJ19LVDfh6Peo3XVog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vyB7MEApLoXsaHtiRnGKlb8KjuW34AotK63PkUOsO1A=; b=p595gWwScUV4cpJYbNwrff6HimtjsbKx4KL84zldMwMtcHMAAxEEnGayTJlNKrwFvf3iSUCaKbBVf3Egayvfo5YwKKW5Xf1E8jrwdG3n3smEL2V93C26EJc14IhOP9ws6ctBluoWc1put1+P1ss4bRr/BhuXU7XBjkltgOFiyQhozpJIg6aEebImdMFZ/P2URqijnmaS4LyAf58+bvvXjwBOEQNj+xm9AdpYa9uyN4GRI+UgUsaM364cXUnssmxWHv5IMj8dq/S2u2CFcCeNNajMTBvug6/7Sx98wzlWHzu6OAYGdb3gfB7piC/HF/0ZaUtZooJzitGnt0xDQZc41A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DM4PR11MB6020.namprd11.prod.outlook.com (2603:10b6:8:61::19) by DM6PR11MB4626.namprd11.prod.outlook.com (2603:10b6:5:2a9::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9654.11; Thu, 26 Feb 2026 17:07:51 +0000 Received: from DM4PR11MB6020.namprd11.prod.outlook.com ([fe80::3058:1480:e4ac:5765]) by DM4PR11MB6020.namprd11.prod.outlook.com ([fe80::3058:1480:e4ac:5765%6]) with mapi id 15.20.9654.014; Thu, 26 Feb 2026 17:07:51 +0000 Message-ID: <334d4edb-b8f4-41fb-aa16-6cb7abeaa21d@intel.com> Date: Fri, 27 Feb 2026 01:07:40 +0800 User-Agent: Mozilla Thunderbird Subject: Re: [RFC][PATCH 5/6] x86/topo: Fix SNC topology mess To: Peter Zijlstra CC: , , , , , , , , , , , , , References: <20260226104909.675623579@infradead.org> <20260226105052.737712686@infradead.org> Content-Language: en-US From: "Chen, Yu C" In-Reply-To: <20260226105052.737712686@infradead.org> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: SI2PR01CA0041.apcprd01.prod.exchangelabs.com (2603:1096:4:193::15) To DM4PR11MB6020.namprd11.prod.outlook.com (2603:10b6:8:61::19) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR11MB6020:EE_|DM6PR11MB4626:EE_ X-MS-Office365-Filtering-Correlation-Id: 825c68a6-14a4-4046-71b1-08de755992a1 X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016; X-Microsoft-Antispam-Message-Info: WshrD82ZFKuDSy/wpOZdTTC4tfYas6NdzxQP5Jq3EupqPWgM7iytK0aTANEK7+kovjcRpVfEpnD8xjN/M4yg1Fke+Kd0w7Vi7GkOSkx9B32RNuMslSdG4znetU/JHNvSaKdQZUjVJchSFArdfKRNwsql7ss4xFSAWALXy6qdBNJebFpWG8MaKYZjiHdpXfmjHFzXyptGkhIF3yLy6CJDxEHAv7U9fFBbASJGenrqnijzkJPcx4iJ3BvCL6Q7RD8vGP3L6VnqSU0s1uk0vZ5ntivOs2lGfqojG9V2TYaIw2Xt/UekZfkJx/IqYiQEzpiPj2lsNIlN8bS5j7kd/LJA4HP8xKqfJZodKaeBG9lRN127QBPQPC7x1H4WorUxT3cflV+6fb00E0eeFv0jOLaGZ0XUh7ZA0OKrQWHTjB8P1SbZ8cLFA08qY23xNvQfdC3lX0utLJ+Bi2CayfiUYxHu2aAFg9ZhA7H+l/vPlE8NvGhtcQRtJ1YHGl7fvBL8LupXmFnQ/J2T9bmdZE2ydv6LGP0DXKdOip6sGniVsc4Vm5fu+Y75oSYztGbt+zQJ2BINI7H4jKwAghSdWj9+ZYsGxsH8uhte4EzQOO/xnWqhdhcvGOhZg6kWOS5F4KuH1zXO/zZbwJm08p/0c/uAOcyBHeJrqpVWGBA33gNQB+JM2Jd6NRhD5THeyctvttdXffMZfL80+httrL6P8AYEUiseoYIN6O2wLDx3lmnzQeIMulk= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB6020.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UnFNTjhvcDVLVkZJRjVZQUd5S2dtcWtMT2xEUE53VHhvM0hDNGZxWUNJeEVr?= =?utf-8?B?QXVCWkNBK3FQWlY5MEdvR05IdUh5TkFxU1pvaEp5dE5HMDNlVGt6eDFscmMz?= =?utf-8?B?QURQYzlDYUZrUlQ4NUJTZTdPQW81bC81cGZsajIvUkN3Vzh3T2NSVzZDb0RP?= =?utf-8?B?TWRFVjBJM2R2WXExSTgwa3NSbzhYV1MzWmxrRzdEV2NXaEtZdVN6cDBTY0F4?= =?utf-8?B?K016a05rQVk2VmdyMzQzMTJ0WnkzQWIram9tNnJHcVdWODl4UWZ3NHNQdFNK?= =?utf-8?B?VFczQ0FGMlVJMEdqUDkyaTh5cm9nb1VzOTdQaFV5bnlHYTd6Vlc4clNzcHR4?= =?utf-8?B?c3RUWlBMZkNRTHNmTi9lZTNWazI0WUhTb2d4bTBnL0hiZGt2UFh6Z3dwU2tB?= =?utf-8?B?NVZsdll5QTVyRnVkU1ZRWHE2MU56WXlJUTljZmZ0UVhOc0I4aENHV1hVL0xM?= =?utf-8?B?cmxrT2prLzFLcjA2aFRQbE9qUnVqWUlmbFdQTStwTW5LYk45dmREM2FHOWVZ?= =?utf-8?B?MW9TSkhqaFJ0YmlIUEFZQWFWTmdQRG92VUpjem1DNUh1cUgyTWVqcjNCU0Fu?= =?utf-8?B?ZFFtUWhVUVpZL1ZKV3lBa0FRVEdWNFozK0tSaTNEYXJ0VlpXMmtSb2EzZi91?= =?utf-8?B?bEhUcXF3dmVaS0xJdC93S2xqOXpsTko1bDI1S1NJWTNTZHFDRFh3KzFHRmZo?= =?utf-8?B?NXNlNXB2LytNazB3VWJFMzEyMlJkREJ0RTNxSlhVS3VtYkdDT2ZJRStSZHZD?= =?utf-8?B?dnptUDJBOHh1TFJnZ3NiTmJoTnRyZ0lNTWN4S3hXaW1YSmZhaDBwc25LdzdI?= =?utf-8?B?dVR5cm9RSldGeDdGNWtHWEc4Ri9JUmpnbklISElDcmpEYlhYRTNNcGdyd1J6?= =?utf-8?B?SFdCSzdQOWdFUVB1dUR6S1p3TWxGUFdjWnVNSVVycXhEeXJYQ1lkbk1WZGZ1?= =?utf-8?B?aG5FK0FSaldEd3BvQ3hUakZmM0NrZjIyZXFJcDF6WjV5NUluWnEya1A2eEoy?= =?utf-8?B?QnBYU0dkOEs3R2tLUHVCeWFTR2hBRkYrK1J2S0tmWnEwbjFlSldhVUwxcTlQ?= =?utf-8?B?QkdiSERkQlFVTS83WCtpMFZ2bkZwamZNSHpSdmVHVnNoK2l2citBVkFydDZ0?= =?utf-8?B?VWdHQkMwSjE3OUdPcWtCZlkrdUVKUlptbWlBdnh6M0ZlWjE2SzhYdmVCMnZl?= =?utf-8?B?NTN2TDVkZG9maTBKRGJkbzZQcGMrcm1zaDBjc29OUk1yVXNWaTQ5dnU2SlBF?= =?utf-8?B?ZFVjazlGN2RsWkNHcmlyWDNEZnE1azBpK2xoeis4SEpnYVhZK1NzMDFTS3ZE?= =?utf-8?B?YWRRY0lncklyUUJmdVVrNzIxeG1mVk53TTVjbFRjN2Z6czNJSldDc0t0UFdV?= =?utf-8?B?YldLWXZNTWtDaXNFa1EvUC9wdFlabEFiL0Y0elpCSWNiMDZJN0dXNzV5TldC?= =?utf-8?B?c25OeTlBTFdpTTV4VS81YUYvZUV5WlJMbWZaeXZRRXNuSWZaNGNkUFZPcDY0?= =?utf-8?B?WG9jNGpFMnNOT1hWa3ZlNWVpN1NWc0Y5OXMwdFpxNDlQdkd2VXlaWEpRWTVy?= =?utf-8?B?bmdtYWJqemVrUkoyT0FnbDNWZUIwaTFsT2NiM1pwUXJOMDUxMmgxT1VLdzN2?= =?utf-8?B?U3N6TnYvcTN0T0wwdjFTK2FXUE4yUXRuVkpqclN4UVpGbEw4SWZNTCswZ2E3?= =?utf-8?B?N3hsZVJ0SjdFWmlFRDNBVkJ2cEZSRE1lZUJteWc5R2JUOTFMVDBOblNLSVdk?= =?utf-8?B?V0lnM1dlN3lNUUM4M3pMSFhoZHZDSkJxUEo3emtUTFliMitObVQvNXF4L2I1?= =?utf-8?B?dFhGN003NGJYaEg4L1lvZmYrRkpvME9Rc0VJZUxYTERhbUFBY1ZCSFgvbU5P?= =?utf-8?B?VjF6OUhWWU11SGJTclJzM1pzWndsTm02SHA1V1pCRWYrdTRrTHhPSEgzR09n?= =?utf-8?B?YVBUclF6WlRrbVhuZFNIL1RuZnE0VmdnT2xtRDFwRlIvNnVLSHp6RmtsN3gw?= =?utf-8?B?SkNXWVJJdC8rS2RNRE42ZjFhbUNqbytTbFA5WUpkMHMvZGxzd0J5NmFnWXFV?= =?utf-8?B?UklzbHh3NFdST1RHR0JmR0ZubXZDMjh6WGlVQnlxbURoL3piaUh3b1hxaWth?= =?utf-8?B?VlBOZEU3L0E0SXN2MlRESjBYdnEwYU5Zb1B0Mk9MWWltWjNOdVlzUUlFSWZr?= =?utf-8?B?N1B5OHRWMW5oREFDYnQ0Y1psSE82OWEyYzE5aGVUeEROclAySGN2MFVCWWI3?= =?utf-8?B?RmNXUUxNeGlPcEVmSm9PYkpSQlRSY2h3VlpMMlU0SUNFdEhaVlBQUU1SNUw5?= =?utf-8?B?QkhEeFd0TDRsS3VkYmdOZUh4Zlhvb1F6NWdIMEhobXByQ3lHQWF0dz09?= X-MS-Exchange-CrossTenant-Network-Message-Id: 825c68a6-14a4-4046-71b1-08de755992a1 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6020.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2026 17:07:50.9267 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: znHCzkwtTSu1YbbHUbXXH4PGxXdyjqCzMDqf19c9xU5cWE34roHUmgP3fSy0H/oW4JVp7YMhxKezeMZLgFWWjQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4626 X-OriginatorOrg: intel.com Hi Peter, On 2/26/2026 6:49 PM, Peter Zijlstra wrote: > + int u = __num_nodes_per_package; Yes, this is much simpler, thanks for the patch! > + long d = 0; > + int x, y; > + > + /* > + * Is this a unit cluster on the trace? > + */ > + if ((i / u) == (j / u)) > + return node_distance(i, j); If the number of nodes per package is 3, we assume that every 3 consecutive nodes are SNC siblings (on the same trace):node0, node1, and node2 are SNC siblings, while node3, node4, and node5 form another group of SNC siblings. I have a curious thought: could it be possible that node0, node2, and node4 are SNC siblings, and node1, node3, and node5 are another set of SNC siblings instead? Then I studied the code a little more, node ids are dynamically allocated via the acpi_map_pxm_to_node, so the assignment of node ids depends on the order in which each processor affinity structure is listed in the SRAT table. For example, suppose CPU0 belongs to package0 and CPU1 belongs to package1, but their entries are placed consecutively in the SRAT. In this case, the Proximity Domain of CPU0 would be mapped to node0 via acpi_map_pxm_to_node, and CPU1’s Proximity Domain would be assigned node1. The logic above would then treat them as belonging to the same package, even though they are physically in different packages. However, I believe such a scenario is unlikely to occur in practice in the BIOS and if it happens it should be a BIOS bug if I understand correctly. thanks, Chenyu