From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.16]) (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 62F8036E49E for ; Sat, 28 Feb 2026 07:35:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.16 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772264143; cv=fail; b=cgOvo4lfcaJApGGpyaWmBdFyHS8V11IKPvGLW7FAarekE/j7cV52XprHNxkBLlr/SqZXZF+nP2mUfyYigsONxvUuqL40cLDo9xqzwBq7St4C61Cefxk14VEDK3vf1SAc5nfcCb45al5Tnttyip3w8iSCSmkK3oaCdyqf28c9Ijk= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772264143; c=relaxed/simple; bh=Huz8cjGZtvzeZHgVZu3i89IXxgpPg2Wy2t6WYJhYRVc=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=JCrhUNqFWQX1aUdREudidaYiyAf/8PDP0DphuCuoM9I8MaqeRdf4Z9hiOjUROFveUI/4tWea6WADhkpr1hcU7btzMxOTCTAY/khAjGfKHncIGx78NFo5yNsD17IWhkmqxMLU6RYadCiue5TaOX1RD/xVswUFen6xhdMJrMyQcyQ= 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=Fa0RkG4B; arc=fail smtp.client-ip=198.175.65.16 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="Fa0RkG4B" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1772264142; x=1803800142; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=Huz8cjGZtvzeZHgVZu3i89IXxgpPg2Wy2t6WYJhYRVc=; b=Fa0RkG4BvWP3fm1UYEUR7S+xI4w2mL1hMVaGpYXiJLuu+bDyYbYnr0ra nIFeN5wWtPmCSyAFrLd27+Nu1awBJSe0msDQ1ykBCiNs8+ZzUIMviCYAB 1BTW5KoECrIpBgourjIfl+nfvXReBuYoEVgl8e11n8a8tM8KTY353yZNe 4NRNDJ2mcWb19/sSaPIN7yj4j/5TNYksXAWDtKWESYVpMw3TAcuBO9oa0 bSg2JukTQh2YGYyi9uuwX+l+AwxIq2+uJtsa+xN0BsFRaGRpjyHf9leCu MszTZ7fEQ+AlsddkPUxpbkDIhJhRBPR2sdF5fAzpouYh0+phYDKKxao5U Q==; X-CSE-ConnectionGUID: Raewv1KZR4a0pXR369IKhA== X-CSE-MsgGUID: vna43xvYRDqXlwxP1sRrDw== X-IronPort-AV: E=McAfee;i="6800,10657,11714"; a="73531809" X-IronPort-AV: E=Sophos;i="6.21,315,1763452800"; d="scan'208";a="73531809" Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by orvoesa108.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Feb 2026 23:35:42 -0800 X-CSE-ConnectionGUID: ycR/p94YRWiPavqYXfzzQw== X-CSE-MsgGUID: RbRJMpFvRMuwvIDPsLHVlg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,315,1763452800"; d="scan'208";a="214895838" Received: from fmsmsx901.amr.corp.intel.com ([10.18.126.90]) by fmviesa010.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Feb 2026 23:35:41 -0800 Received: from FMSMSX902.amr.corp.intel.com (10.18.126.91) by fmsmsx901.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Fri, 27 Feb 2026 23:35:41 -0800 Received: from fmsedg901.ED.cps.intel.com (10.1.192.143) by FMSMSX902.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37 via Frontend Transport; Fri, 27 Feb 2026 23:35:41 -0800 Received: from PH0PR06CU001.outbound.protection.outlook.com (40.107.208.10) by edgegateway.intel.com (192.55.55.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Fri, 27 Feb 2026 23:35:41 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LCwLHAe2F9YOo4+aQM7N5dL30pqcZ8lUdutrPcT9+/9Zux5iRS4pPJV5QwBd7OEvSb96ZZjBE8XPWZL7eL7WHDleKV60n5MFVco9TMGA4JfOD2nwTLM7HBi5SsyZBj9gXtLAFwNBpdZD0KxsAi9TkXtyKp2ym8XD3iu+F+OKslWpwa1EKHpfROadGIxSYH53PXZ+FIccec+ufA5FNa8+t1ATiLk6bg2anG7Avn2IkR2m/qYPmbgrrLECAYYwMM1piECyn9Cn5v/AWW8s4wfchym/5FYx7+XMv93TNFKJKB3hepoq1BvjxEa0OtmaiCULzK9K64lcUhJrOc0xcsSUWA== 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=ai+AlmY4tT8fLRQlYyi2Zc3gUWV3OisyeUl7D2SS0kE=; b=Q1pXu3LwlACNPkBaukIOec5reVQUNh5hhZxONJ+1mPcpHEY8BBXfZEolsOLBD7vdV2AqJOuEc5Bhe3uvRUH1xSKdcbegjbGj7v+6AtsH+ri7+wcp5ZsrLNrHZzbJXZ9o/6EU/uxJo6Iu5Xd9wtUK+6qpwXlV9jsHaN22BP32c0LZE/K05CpisFeiqeyN1nofM756pehM2Zp3WFX501Yr2dAuNw4P6W24eWELyWRN5nj97DeAmyysOKN480+Nd852X3mQ6NbgHQ5RI7gWNKVx2cAcxuLOSpHHgk9ioOcDYOVbCpyz/2fIf+yK/1iKDTi/aGzpJQwzEs8xGY9ulMG29Q== 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 DM4PR11MB6144.namprd11.prod.outlook.com (2603:10b6:8:af::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9654.16; Sat, 28 Feb 2026 07:35:38 +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.015; Sat, 28 Feb 2026 07:35:38 +0000 Message-ID: Date: Sat, 28 Feb 2026 15:35:26 +0800 User-Agent: Mozilla Thunderbird Subject: Re: [RFC][PATCH 5/6] x86/topo: Fix SNC topology mess To: Tim Chen , Peter Zijlstra CC: , , , , , , , , , , , , References: <20260226104909.675623579@infradead.org> <20260226105052.737712686@infradead.org> <334d4edb-b8f4-41fb-aa16-6cb7abeaa21d@intel.com> <20260227130130.GD1395266@noisy.programming.kicks-ass.net> <67cfac6fe0495a533fa3204fa01ee07653029e91.camel@linux.intel.com> Content-Language: en-US From: "Chen, Yu C" In-Reply-To: <67cfac6fe0495a533fa3204fa01ee07653029e91.camel@linux.intel.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: KL1PR01CA0147.apcprd01.prod.exchangelabs.com (2603:1096:820:149::16) 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_|DM4PR11MB6144:EE_ X-MS-Office365-Filtering-Correlation-Id: 82d93f65-4069-460d-219b-08de769bf777 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|7416014|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: flNtzri3yVkbvAZMz77R0VNrPatqhw8nPbHnSA/whTtM/9l/Nn8uqI8lkmvKKN6NnTuNReGExreG9gVrZ8Ezh5uAFAnL2XpQFFppeb9jvx36QPDRei6a5dfUqv1+ZC4XWl4sUwxgOTjdk2+BXAZcdyypW+KdzzZhszAo2lHSHazJT4TOokWF6c+qPscJAQ/MicXrLLZomthvOJ4XBBNR2QdCtchtXa4ea2fT+e/+YQTf/Pmx2H38+1cCqq/TY2U/3/kStCc23rOghEyE1A83Y2JXcb7yKGuxTAV+w07tZVykmx7lVTZneQG+QW8cIvziCtIGJRxB94NTAWgavNKqdzdEZ75E9q984lmmT09gorSaNId8sgi1L5NUAFABMGIAKnxkuNeq7K9ptM/RMTa/SStjPrspCSowYwwrnezy5U2GaLFhH7puFhU18J1RRDB2lNowBmYuw4zvcfflu0duNcixYdNYWMDxM6HlA5MCGYYqqu9eGHLhYQtS/CFwjzT7ovNgtbW6JCggycnxVzTWeNcRbgWt8KFLkAYDTHU5NJV5RsCBabdYfdOQXIguiY8I1hcMIN0fAVy7iqvzpUtVoo4mca3XiP/lEOSvAcb0GPjL2Ugmfv3vNi+4RcnTNXfTyTT+MnLTd7p1tEM2tQ2h20d2TI93VR8P3VHGPj49EnI9dRjLtBe3UnxTipNIbuLtV+bbl5DDi80SfRoDMfG2ys3qqRkDqFNUbr0Fhiy9vPs= 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)(7416014)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RzcwWWV2TUZrSm5rTzFoZUh1NFlDQTBibEZLMkgwUzRmRURHeGxJSnk3VG9J?= =?utf-8?B?TDVWYnVMRWVHczRBUjdDMVJxRkRtWXdlY0lra3M3UmNBQy9PcFgzNnRVWTZh?= =?utf-8?B?V0IzTXNpcERLMmJxM1pwUHhLZ3lUZmxtOVJjUFNnQ3UydWpZa25zU3pjNGJR?= =?utf-8?B?cjVVYi9TRkNDK01jUFZYQnZ0OE5iNW5tM0plWHZEK09mSktLdzJOZEdKYU9K?= =?utf-8?B?bkhJZS9YbFdTVlFLMjNZRkV4THBuVHBqNlcreW1xZUlHVGRqeTdIM2Z5SHh5?= =?utf-8?B?K1ZhN0l0UU1ra3NjZ3VMRHhxKzAzMjFRS0hIaGN0azR0L01uSVVRUHFCL0xz?= =?utf-8?B?OWs4L2lmaFBMcTk3TzNhWWNVRS8xcFkzQXVlL0NpN1ZiUVE1dGt2SUppL3RP?= =?utf-8?B?eW1NNWNHZ3RvbFNkeUxZeUh3M3B0UzdnR2ZpNVRYMW44T1Q3eHc3b2taSzV6?= =?utf-8?B?MGZKbktPSHZGM29ZQTBwM3Q1QzlFUTRTQjhtZCtwc1ZpcExFS0JGTjN6QU5X?= =?utf-8?B?RVFHclFVbml6c3BxV2xLRDJmZEl5a05aeGJnZ0paZCtrdlllNGJHaFBzQ3pt?= =?utf-8?B?dzRaUXY3emJTVnNjSU5wZVhvV3JDVjE0dVZpa2RRdlU2d2ZGTU1wbitNeGpm?= =?utf-8?B?S2cwaURMdnBuSXRMVldXMEVTWEYralRXV0t2dzVpanlHODYvR2dpa0dNTzZB?= =?utf-8?B?WUN0VXY1NFo0UlJoV1d0YVRTQmtTa3pMWGpVVXdrdFpNYXhHMEFLOGlVK01S?= =?utf-8?B?K2gyR3NZK1NOMkhHNzlOSE9ELzVLK3NUOTI2SDI5azZMNHB4QWFLTFFmSWpB?= =?utf-8?B?dHFEMnZGQURBcUs5K3oxLzRod0NSU1BTRE14anVxaUtSRVg4MzRRV2RsS21i?= =?utf-8?B?ekNpTU5PUkJlOUZKNW1PaUI1NlVmV3gvMGkvMUZrUU15ZWRPVC9sLzJzSmhL?= =?utf-8?B?RU4rL3REQ2RmcVMyeDRoTExMQVp3T1F6bHREcFZ6S1UydFBQdE9mRitCUkxl?= =?utf-8?B?RDB0MCttcXlwcGVTOTNsQlpjSm14WW95WFpnYlhoTlE1UmxQakltMlR6cUxt?= =?utf-8?B?eXVGbnhYazhTRC9tNTB4eXBtY085OTZrdy8xbHByNEpaZ1VMTCtHUU1iay8z?= =?utf-8?B?cUF3NzlNSTg0elBKWndjNk5mS0Q0WGErdkM5RjJSWGtNWDIwYzVlV2l4OUs0?= =?utf-8?B?Z1VuYXppTkw5b2NCalR1Q0ZhVThVeXVScUNiRWpGZjYzR2VRSGlUZ29id0xv?= =?utf-8?B?WFdKdzR2ekQ4ZGhqUFMvdDJuUUdLTnd5N2RBekZCK3NIbnR5M1l1MGNOSnk5?= =?utf-8?B?SnVOSFdvM2lwbnM5SlhXclp2bTRlWFhRYTIvRDNiMy9OeTNoR1gxSDBRb3Ey?= =?utf-8?B?eE9ldW9hVms3YmZUeHNQMzJ3b2xadFF5NWpwRGJiWHFxbWdEZktOY2ZwWjM5?= =?utf-8?B?VmZtNmhJcHRyN3lGY3g0ekVMdFpCeDNFVU8xaktxZXhuWTJUUGV4MFgzbWdU?= =?utf-8?B?S09ZV2p4NnUxQ1NRSUk0ZUwwZ0s5b0RNcWFRSDFUSTJxWURVUC9qb2dadFJh?= =?utf-8?B?RHhQT21jdjk3STY2MTA0Tnd4dEtraHFNMXp5Z1VtelcrWGM2T09VR1RhcDZv?= =?utf-8?B?eDdvYVlkNTRFUGZrWmwxeG1xdTJ3Q3Y1QzVYK2VncWhFYjhpQUU3NTY5SmdF?= =?utf-8?B?eFY4a0gzWUxSV01JZ0hZTDMyQXFqYmRkRDV2WngrNW1tMjIrTmtMc1BUazhZ?= =?utf-8?B?cTM3MnJNdGZyck45ZVdMZ1JIUURXcGVZbllQRW4xaFltMmpxOE93cC9tR0JB?= =?utf-8?B?azJGWWwwa2JtQVplZmxwaXd3dXNvQ0NpLzByektWSXgxQi85RXlDZGZ6RUo4?= =?utf-8?B?bUpBMDJLUndhRkFCdmx3S1RTYzdic25qV0k3Z3lyc0twOTlwc2JUTEtuOWlD?= =?utf-8?B?SjB1ejdRUUdleWpra25zcXIwbUM5RnBHY1ZVVHVubENiUVJOcnd1RHVZVVlY?= =?utf-8?B?RjlNb3ZkMGc5NWlMKzZlYjdvUExYWlQvV3R6L3VkZW1hSTJiSEd0U3V6NWpP?= =?utf-8?B?UVhaZGtiZzdqbjByMnJuV0hWUW4wZm1Pczc3T2FWT05TYXBNWXZ0UGpneXFa?= =?utf-8?B?Q2YxeE1LSGkzNmFJOU14ZmVFZFJrR21FVlFRbDFDM0wrS2wrbkZPcm05Qzkz?= =?utf-8?B?YjBWa2Nzd00zYjJ4S05sZmt4NGNlTmh5dVFYQU1ENlpMR0M2S2VlUGpxcEJp?= =?utf-8?B?Z2tWdHlESC96RUwwem0rdkZGRDBXSnRoSnQrUVVTVjJHWUZ5T0kwenQ0YmpG?= =?utf-8?B?aGtDckVHMjQ5WjdPczd1QTVEc1ptM05ySXNhZWYzSm5aRzErQnZSQT09?= X-Exchange-RoutingPolicyChecked: fKehz6C4ttXV7i9OcPbc6AqR1tAOZU7v0d958PyJhlrOthpGKrhPMeKuZG7fbinY8UHeDivP8BpWCSpiwrsjQ41vYhgoBX0cOiwtQDBE2uXAcKtQpaUYt/SQmAN5vrm9p8z/u9TJpfd02w4cb4Wye64DU1npQf9+jiO3vwdQtoBzAmVjNAN++dYYqZxfwJxBR7Ms826nql0WJj9cdNBVu2uM2dbGPdL1esaHPVoB0Tq+olkc5r/rSf2ie7C2qol0Cy9T+JFdPUk5M4zzGBBj1wzYVJDAu+3LgHB9v6YoSPN82D5XTbMxO37N6q/msmFqMPycIxAcn8BWWvUIlrg1JA== X-MS-Exchange-CrossTenant-Network-Message-Id: 82d93f65-4069-460d-219b-08de769bf777 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6020.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2026 07:35:38.2624 (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: XlfJr+1Iz9mC7HAlhlTb65TqMEqV3SJt5mzzLU0BfA5mPVifllAWBjbwOwq1nVuEA7Juh75XFirgXYjE19/NfQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB6144 X-OriginatorOrg: intel.com On 2/28/2026 3:23 AM, Tim Chen wrote: > On Fri, 2026-02-27 at 14:01 +0100, Peter Zijlstra wrote: >> On Thu, Feb 26, 2026 at 11:00:38AM -0800, Tim Chen wrote: >>> May be a good idea to sanity check that the nodes in the first unit cluster >>> has the same package id and give a WARNING if that's not the case. >> >> But then we'd also have check the second cluster is another package. And >> if we're checking that, we might as well check they're symmetric. >> >> Is this sufficiently paranoid for you? :-) >> > > Thanks. Looks pretty good and hopefully those warnings will > never be triggered. > >> + >> +/* If you NUMA_EMU on top of SNC, you get to keep the pieces */ >> +static void slit_validate(void) >> +{ >> + u32 pkg1 = slit_cluster_package(0); >> + u32 pkg2 = slit_cluster_package(__num_nodes_per_package); >> + WARN_ON(pkg1 == ~0 || pkg2 == ~0 || pkg1 == pkg2); >> + >> + WARN_ON(!slit_cluster_symmetric(0)); >> + WARN_ON(!slit_cluster_symmetric(__num_nodes_per_package)); >> +} >> + Here we check packages0 and 1, should we check all the packages? diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 8735f1968b00..91bac3e2e7fd 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -543,12 +543,13 @@ static u32 slit_cluster_package(int N) /* If you NUMA_EMU on top of SNC, you get to keep the pieces */ static void slit_validate(void) { - u32 pkg1 = slit_cluster_package(0); - u32 pkg2 = slit_cluster_package(__num_nodes_per_package); - WARN_ON(pkg1 == ~0 || pkg2 == ~0 || pkg1 == pkg2); + for (int pkg = 0; pkg < topology_max_packages(); pkg++) { + int node = pkg * __num_nodes_per_package; + u32 pkg_id = slit_cluster_package(node); - WARN_ON(!slit_cluster_symmetric(0)); - WARN_ON(!slit_cluster_symmetric(__num_nodes_per_package)); + WARN_ON(pkg_id == ~0); + WARN_ON(!slit_cluster_symmetric(node)); + } }