From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.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 D914A175A74; Sat, 21 Mar 2026 12:48:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.16 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774097301; cv=fail; b=YFw1gSoq2WHRxLPgnFvOY/c/ja1qsiBDXgXx8bLNJxT9bLME0xSPF8wBFUFj+qArsNlKd4bsgDl6pN3MDLijuIedB7bBbL8ieEr+o3MH/Qz7O1nMFjLHnfsXiu4kcqn+JR28qmiS+FNwzwwT7sWrHyy/NJoEA1T13T0sbjQt/os= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774097301; c=relaxed/simple; bh=dnDe+PTPI7YENfdJ+x81YjXPbQDuEZ8ZjNFGJjkm4sY=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=py0Av/q+jt+rsa0uRJ7n2VxLZwFNlSD2T0VavCL8PcqX5dcSzZQyAN4aaT0kOrhm0SqGk+wL/HQzPCNmDADW5v1eFRGVLZt8lvtRJvNWkpV8pgsN5yF9WbgkQWhI563+NnIFwXEzGqVqs6ckEymj27Cf38j21wlTus/QvkeRs80= 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=D27UdtFW; arc=fail smtp.client-ip=192.198.163.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="D27UdtFW" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1774097300; x=1805633300; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=dnDe+PTPI7YENfdJ+x81YjXPbQDuEZ8ZjNFGJjkm4sY=; b=D27UdtFWCOhqkcXl1jQMAJ1mQHhD9U0Wo7ZIOVtz/yz/0WKqI3z+VyGc HRvQe5JIx88hDnq0GH7OtrVzmnAAzsPBsH7wAu/yl4CuiHMypeUuQg/Mp VRqddMYtcus6WlylVMgVrO9veVSYQLEPMuxNidJHCKm0be/feHdNLhiXe yrcC2Nx9q7PVbLToB0TCNXCCdvTlQwl+CkYijVWWcXIdRLIn+jfpwpUtA rbUriTULtE7F6M0NkbM52yK6ON2Fj5eBTQ47eel2U19ZMzEETV8LueiU+ E9DXQxnwUr4LIxV5iWf7Wd0S4Qfa7I1j9uKEIjTsteSBoK9FcSYsybHC+ g==; X-CSE-ConnectionGUID: Lef9FvFAR7m7f0e9OmBZsw== X-CSE-MsgGUID: KwIpTBulTzamgBqbkTJFUw== X-IronPort-AV: E=McAfee;i="6800,10657,11735"; a="62726263" X-IronPort-AV: E=Sophos;i="6.23,133,1770624000"; d="scan'208";a="62726263" Received: from fmviesa004.fm.intel.com ([10.60.135.144]) by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Mar 2026 05:48:19 -0700 X-CSE-ConnectionGUID: jp/+qqsaSgu1GR3tr0ODQQ== X-CSE-MsgGUID: sxtdgGyGTaOs49k+XjU4tw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,133,1770624000"; d="scan'208";a="225396505" Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25]) by fmviesa004.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Mar 2026 05:48:19 -0700 Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) 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; Sat, 21 Mar 2026 05:48:18 -0700 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; Sat, 21 Mar 2026 05:48:18 -0700 Received: from SJ2PR03CU001.outbound.protection.outlook.com (52.101.43.21) 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; Sat, 21 Mar 2026 05:48:18 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=R2PrrT0h+8LlwQBRvhnXxpynAqaEIJXcc7dNHXVTLfOmcmVb2lY1sGihy/fMjb5xUqBagsQGeoj4MCYsihNOHoUSTaTNmcrXD18ufn/gKg0IjAATu41Ev3opPgxqdauNgtEaczqtdeXgjbyTjBH3t34JV8QvaGPTwdsdrEnUc4CKfUl9hI4D6CgP6TYEB1BDTFI1ImTnrxm7FWfPdYtpJvAq347HN9BzWepzP4edZHzOZppeXN4+b0uvS9C08BRQ1U9ZLB7p2RFEbPsfrjqVcT6tFDnDlB4NQ3Wz2f2XxawMOs5FdTL2QbB41g9zBlZoz69ohEgpp3TOXyBtWdKGDQ== 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=Z6O6hLWj9yh5PG7qPQVpZC7c3jf87PeGicBvilyugPA=; b=mj+OdNzaP0UnzLiIv6uXfcUrLRHh3s4DuiS0wOTrxG//r/F2oQceNb26rIMiI8IaJEO/W4RhpWatqIWQB3UasrqVkZp80DVc6xUbunpfB7Ld6icwqNxRX0bppflwXEz9qnJifNgPGKr+0LtGQBBvHwcEn/gOaVJ5hPEmF/GFfdBp2EfwdxZ2zoUlG6bZCv6wUI0JS5rJFkLBgzY7BC0XvmY0YvP9NQFihytPg1r0ZZy2u6mBZ55WqZwppperDJG5P28V6lygehPzGgLLcgZ97+bc3gBNhv+lQQ8aFOCnhu5DTZAWVGi8bU7LsUvKdQQaO2HDSh83PSL7ruwUTzQxGw== 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 MN2PR11MB4566.namprd11.prod.outlook.com (2603:10b6:208:24e::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.9; Sat, 21 Mar 2026 12:48:15 +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.9745.007; Sat, 21 Mar 2026 12:48:14 +0000 Message-ID: Date: Sat, 21 Mar 2026 20:48:07 +0800 User-Agent: Mozilla Thunderbird Subject: Re: [tip: sched/core] sched/topology: Compute sd_weight considering cpuset partitions To: K Prateek Nayak , Peter Zijlstra CC: , , Shrikanth Hegde , Valentin Schneider , Dietmar Eggemann , , Nathan Chancellor References: <20260312044434.1974-2-kprateek.nayak@amd.com> <177382132440.1647592.1849180094328011054.tip-bot2@tip-bot2> <20260320235824.GA1176840@ax162> <60406550-d90e-4efa-a4d9-f901421887f8@intel.com> <470ce693-ee2e-414e-930b-d6581d649110@intel.com> <7fad91ea-e6cd-43c8-abe3-16d7843247ed@amd.com> <10204982-a007-4f44-ab12-bcddfe4140c8@amd.com> Content-Language: en-US From: "Chen, Yu C" In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: TPYP295CA0009.TWNP295.PROD.OUTLOOK.COM (2603:1096:7d0:9::8) 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_|MN2PR11MB4566:EE_ X-MS-Office365-Filtering-Correlation-Id: 3224cabc-99e1-4122-c2e7-08de87481e07 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: QOYHxIu04Lc0Iz2wNOoAEytGnRgbq2qfGeZ9koZ+l7/PLmQkxNHRKcjq6w3r6jL1iyvdlGTazCvIaqYmQiPLY2elftrsEtn9KTjLMHku9wFSmL+tPqC7L+zQvOkS5Ls1cZH1FJ4+Tbbqt0xS7ZqPVTEX+0vjTFVJY84a6RwemKa/UxClQ96Mr6FcHkg2KsnWgA1aww3OE8MwTOotdvBgrq2SRymi15y1ztIVE/HgiE32jRsiDcP6sTYR4OH1Vf/qLJiVLdeRpUcYKOq6w1GGKT35kf00Ebos7po7L2a3mhAofKUMwilaDCusRA+gVj+r9YBoPNQTbCBYKROE5pXkPeoAgncpodCm6zZ5a7OMfFJloviIa1P64Vh3jK5KbFuebD0gLuMLuuCEFIt6c9TRbOO9WLcJbBeIlOrtLZUguNSwES+0PxTmzcCmy1rn8p9/hl3B+vxUHeZLTQOPkn1tc+Lnt7OBCChOfiLy6hXEum8r8Uzi+tRAvKsSin2yRl/WP3X2ayHVcycuQ4spVKwt9nbLg6i7hmOnmJ5xCTNH+2isbqCIMDhw2v+UkzdFcqZI0SkUaLVrbKl73HeCh1U3RAUNET7R0ZA8Xw+mzsH2H3lUyLJ6dQ97BQIoKao/mSsh6ReByh6dDvFPpic9vS81EKRJI7vynoGLG8h5tgZ1+rREFS/YjXgEkzzxoCMqSxqT++Rkvk4ABqqaIiM3wAhDHwywPPU4Gu2WJ6fBZ1RVEGY= 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)(1800799024)(376014)(366016)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NnIxVHE4dEthS3d5U3k1bDZ5bkpDcThQYTd1VUxlQmNxMGpYQTBycllRVDdn?= =?utf-8?B?c3RxQW5nZWJLN2J4Z3NiNVRqRzZlaE9jYjgxdXQwODhHdUFzWGxGYmh3WUd1?= =?utf-8?B?WDBEQ0VyQjhMdE9xZHNWVmQ3SHFsbGlQcXRvT2ZzMWwyTGFSTzBWL1ZJa2xN?= =?utf-8?B?UzBJR3N2NmFWcHFYbUdYQ3FDcjNDQjdUcFV4Wk9kSExZNU9UaVhVWHVldTVL?= =?utf-8?B?R1lWVmZ6b0VOTytMNlJlMVNlS3ltdC9mcjRQMUh3VDgvSmlsMUgvdDdWV0or?= =?utf-8?B?OFkxWnczWXhzLytWQ0J1UE5WOTJMOWN3aU5QQ09qZXVCeUZqTXNWMnZlRWIr?= =?utf-8?B?L1gvcXkxMkhzWEVUbDkyQXY2ZkMzRHYvVzhBQ0JEaGNxbGhjWFZvcGIxaEdY?= =?utf-8?B?MEpOSlJ1NEx2VDMzazNWZUFrYzJ0RHFuK1pkZ0g2MWVlOUNWUnRER3N0OWRo?= =?utf-8?B?YzRUMXJGMHJ3WnFsUnlKQzN3RGZ6MHZEcDJCSzBUeVIxR3Y4TVpoTjBKSFZw?= =?utf-8?B?TnREYVhsQUZveWwwTm9zVzNLczRIUDNjbDdENW54L05VZDUzWC84LzQ4M29G?= =?utf-8?B?RUFlajRnNS9qdk5XbmI4K0FoaDdpWUk2QkdnTXdySXlQaGQyWlJvbXFrOVZ4?= =?utf-8?B?NExDY2hWMzMrNG5TT2w5dFU2SmRXWU1TUXJEZHZscWVobmZTTFJwemVwSExG?= =?utf-8?B?MC9NMS9TWnFvY085UDFQbGY2Ri9TVVYxb1Q3ZC9zcHMzWEJtZ0FuS0FXakVE?= =?utf-8?B?c3o1RGZZb1I0Vnlsd0hsRzRkcmZuYzZYY1lBVVZFUjB5UGJPYy9kUnJ4UUxK?= =?utf-8?B?YTdTSXlOK2ppM1N1MEp0MnZtZFNsalJ4TDFTK3VtUzBBbmFzUTFhQlBSekhV?= =?utf-8?B?U0d4Ty9pNm9WSTJjMnYvQVRkcDhHZU0rZUdwbEYzZUlWT2pwczlXWDQrSE9S?= =?utf-8?B?ZWRNZFMyUWdUZkpCZlM1Vlo3TVdUOWhwRnVwZW8ycVg3NHp6eFUxaFRhQUVC?= =?utf-8?B?aFdvUElqYzRLdlhvKzZLK013UUpSUVU4bEY5eHE3MS81L2ZUUk9TSWc1YmZr?= =?utf-8?B?OHRRZ0trWUp5VVgyZzlzTlFWVGROSnRwbnpFbGVjN1hzc1RCZEUyRDdVWXNG?= =?utf-8?B?eWg2clpUeVZ6cHphcUZ2aFRvanMzQjRNanF6QmdTSGc4NzBRZlZwcmN5QkNn?= =?utf-8?B?YWo5K3BIck9OamFmNEtIbVY1alZhRVNhamlBclJWOUlxcGFQWG45bkNSdEJC?= =?utf-8?B?dVkvNXZSRmRjTzdoS1MvbkhxMlVlN0JiWUh6eEk1Q0NoSTcxd3NhYW5pWVNY?= =?utf-8?B?Y3duY2h1VVhteEQxWWZLTVV4aFRLUG8rMnByam56STBUZzlSUG00VWx1MEtK?= =?utf-8?B?Wkh3RUNMUFJoWTJJTHlQZjVaNVZTNDNScmNWalpjREFTdEx5c05XTUZ0Q09j?= =?utf-8?B?V0duZ1JUaVVEbzVqMFVQaGpNaVdXelJrdWFmckpiNjZGSXFOTVRIMVh0UjFL?= =?utf-8?B?YnhOZHlYOGcrbFEwbmNyQWJqejVWVHBjNCtFbWZNdXNhcko5M3NSem5mU1Vx?= =?utf-8?B?dGFnTmZwQ1oxRDd2ZE5QcWx3UThlalFXWGliS2FzNVVVUnpLTk01TE1pOVN5?= =?utf-8?B?dVBWMUdIdjU4K25iU2k0RHpORkFTZko3U2h3aGN6TTFNenB4c0xGTTFoMnBz?= =?utf-8?B?WVdyeTAxNEJoSHpva2pWSDhYbnlPWVNNdXl2aVVqZnpWOUQ5eGpjZFhkSnVj?= =?utf-8?B?dVA3aFVwR1RJT3VINjNoVlR4VldSZW5TSHF4RHpiZFpaSjZrSkNZT3hzeWpk?= =?utf-8?B?NlNveU9wS1JQNzdsWXF5NTdCR0Q1Rno0dThxZlc5V2NZWWx4REkvNk83WENY?= =?utf-8?B?TjI3VFJ2VTVmUzZjR3ZRN2VaUFNNRXltaW1aM3c2bklyR0FCYTJMSnBMOG1R?= =?utf-8?B?S2RGVTZ5TDlpdEdjUkl1S2U2cm9MWE9EaGt1WVFyRzVLQlVoZzAra3ZsUWl1?= =?utf-8?B?Q2FnM0xGZmhIWUxYN1FaVUNEUVVJeEJjcTJKNml3dEYxMG04NHVNbUNvTU9P?= =?utf-8?B?SVdOb3hWZ2VTSDllZHhoaVlGcDQ2b05SaGNRVFdEeC82ZlFqR0srU2pRcGNs?= =?utf-8?B?cUM1SWQ2UmhRbzVYR3ZTVkpRaStuSXFMWmR1djZrVktzMGlCc0JySGdRNHcv?= =?utf-8?B?MzhtTUhQTXBvTnF2SHdRRWdlYytIQ0xDaHplZkZZcmhJZlpHdzVxUCtYaHBp?= =?utf-8?B?cFRadlJkdlFKU1BqdFZZS2liVDQyNzZWVDE1TThFTVNCcXJpQkFmVThvOFd3?= =?utf-8?B?Y3pRLzcybk1weGRoclV6cGhVcjZmNUlXNTFtNk1PVHlTM3dwR3V4Zz09?= X-Exchange-RoutingPolicyChecked: KhW+DSrYL2l2OPtQXs8Ebzy/uZJDwFzfXj58FOzYODuOJvNhKu03dNjz6ijTQlHneD4XqhBbyObLIpu3usxCJdYWdxKwSs28IES9+HbRCwt58TcoV80HwCzibUboboNEQZWfLTHnz0ULmRpKtEvYKs2OfZCiauIgd95KHV+xxPM+2kkIHRM0L0DNOVLN3phJ50cIvOl8mIkgkSSPDSrL6OQGaWMAcVM1T5codcYj1y8MRuXserJxsN5aqmj5dXYKQNNcS5DGf8cGYHuWLXnI9jrvls4vFEY8mFgI0hCV0cOzfU53U0HHucBQ1hW4sL+RBWcTduoL3KggHDb1CtA15w== X-MS-Exchange-CrossTenant-Network-Message-Id: 3224cabc-99e1-4122-c2e7-08de87481e07 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6020.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2026 12:48:14.5509 (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: RanR+a2Rk20xOaWi1AkiitrvA3ihtRh4eq+lLzStpKoXGoVut0s8YIh0+rWkjb8Mz3zWUlE43kQHRb9zAtsdcA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4566 X-OriginatorOrg: intel.com On 3/21/2026 6:13 PM, K Prateek Nayak wrote: > On 3/21/2026 3:15 PM, K Prateek Nayak wrote: >> So this is what I've found: By default we have: >> >> cpumask_size: 4 >> struct sched_domain size: 296 >> >> If I do: >> >> diff --git a/include/linux/sched/topology.h b/include/linux/sched/topology.h >> index a1e1032426dc..f0bebce274f7 100644 >> --- a/include/linux/sched/topology.h >> +++ b/include/linux/sched/topology.h >> @@ -148,7 +148,7 @@ struct sched_domain { >> * by attaching extra space to the end of the structure, >> * depending on how many CPUs the kernel has booted up with) >> */ >> - unsigned long span[]; >> + unsigned long span[1]; >> }; >> >> static inline struct cpumask *sched_domain_span(struct sched_domain *sd) >> --- >> >> I still see: >> >> cpumask_size: 4 >> struct sched_domain size: 296 >> >> Which means we are overwriting the sd->span during *sd assignment even >> with the variable length array at the end :-( >> Ah, that's right. > > And more evidence - by default we have: > > sched_domain size: 296 > offset of sd_span: 292 > > sizeof() seems to account some sort of 4-byte padding for the struct which > pushes the offset of sd->span into the struct size. > In your disassembly for *sd = {...} mov r2, #296 mov r0, fp mov r1, #0 ... bl memset <-- oops! > To resolve this, we can also do: > > diff --git a/include/linux/sched/topology.h b/include/linux/sched/topology.h > index a1e1032426dc..48bea2f7f750 100644 > --- a/include/linux/sched/topology.h > +++ b/include/linux/sched/topology.h > @@ -148,7 +148,7 @@ struct sched_domain { > * by attaching extra space to the end of the structure, > * depending on how many CPUs the kernel has booted up with) > */ > - unsigned long span[]; > + unsigned long span[] __aligned(2 * sizeof(int)); > }; > > static inline struct cpumask *sched_domain_span(struct sched_domain *sd) > --- > > and the kernel boots fine with the sd_span offset aligned with > sched_domain struct size: > > sched_domain size: 296 > offset of sd_span: 296 > > > So Peter, which solution do you prefer? > > 1. Doing cpumask_and() after the *sd = { ... } initialization. (or) > > 2. Align sd->span to an 8-byte boundary. > I vote for option 1, as option 2 relies on how the compiler interprets sizeof() and the offset of each member within the structure IMO. Initializing the values after *sd = {} seems safer and more generic, but the decision is up to Peter : ) thanks, Chenyu