From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=pass header.oldest-pass=0 smtp.remote-ip=52.101.53.18 ARC-Seal: i=2; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=pass; t=1792485917; b=g2gMJs67I1rZRX5Cuoq0xXcTNXjINxxqY5Xqwv4OtBsUcxLN2DQHL+0KjfapAYLpypyq ot09b4ID64jp+lp1bFt1FAxk4loOTa8jJTni9hS91jgUjV1GlCQGrBmVbf3na1AFo6RIz 4/ylfurRszTMLnqp5K9jqIEa8IVRUpuHRhf43CvbQhVf1zNP/s4zCroeu3O6a9PCyjYgS aDWzbQjXhxBupvvWo1Zw4xJelCauE5ivqsbdJJnx4BJWTzwcSJNwwJNjyqKmG/u/dL7Xz ykEDuElZ7hrs1P1wBpvVHZlfmQ6W8CIb4uzBMzuf6vJMJ9YruphxYo0jGQHVZu3gbqw== ARC-Message-Signature: i=2; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1792485917; h=DMARC-Filter:DKIM-Signature:Received:Received:From:To:Cc:Subject: Date:Message-ID:X-Mailer:In-Reply-To:References: Content-Transfer-Encoding:Content-Type:X-ClientProxiedBy:MIME-Version: X-MS-PublicTrafficType:X-MS-TrafficTypeDiagnostic: X-MS-Office365-Filtering-Correlation-Id:X-MS-Exchange-SenderADCheck: X-MS-Exchange-AntiSpam-Relay:X-Microsoft-Antispam: X-Microsoft-Antispam-Message-Info:X-Forefront-Antispam-Report: X-MS-Exchange-AntiSpam-MessageData-ChunkCount: X-MS-Exchange-AntiSpam-MessageData-0:X-OriginatorOrg: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-AuthSource:X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-OriginalArrivalTime: X-MS-Exchange-CrossTenant-FromEntityHeader: X-MS-Exchange-CrossTenant-Id:X-MS-Exchange-CrossTenant-MailboxType: X-MS-Exchange-CrossTenant-UserPrincipalName: X-MS-Exchange-Transport-CrossTenantHeadersStamped; bh=pHxvttKDKxAFuOPIJb6HHy6WQKEi1sF0CENBJ4XtEvI=; b=yYqhhFdCmd7mdB3XUrU8AQbA/CtIDB2iIm5YQKOBHxTaEtwGbN8oeEANgx6GqflxJhGx qEfow1WIqI8bAokNKBLkbVuWqsnYjy2lgiECKusAgGecOhKYBYhtFA22dOsAOhPJ7dr74 saM8bXkgcBBovOxD44eHGB2vthItjACFRgYkjzOspcC+2wOVzUHYlGVLP5qhb0mJStqlu NnvprPR1NU4RdWNwJD6YOGCW2+0i1TMLprzjqRT1CtEhtCbo0F9sB1rR9qdv43EUpfPI9 IulNA6MH43NvTsO0VT+G2HSPr9WnL4OcyMOCZtgHzTvOP5Bo4GRIxLRzQT0WJtvf9tg== ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256 header.s=selector2 header.b=bO15XgDb; arc=pass header.oldest-pass=0 smtp.remote-ip=52.101.53.18 Received: from BL0PR03CU003.outbound.protection.outlook.com (mail-eastusazon11012018.outbound.protection.outlook.com [52.101.53.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (secp384r1) server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C9F3E606A319 for ; Tue, 20 Oct 2026 08:45:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org C9F3E606A319 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256 header.s=selector2 header.b=bO15XgDb ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Gw9IXxu4tu092iIj0GBPuevB3QbPvcujxEQx+iMbnfOJ9fkH7szqW+ayxQrsURl82JW20aHbSrUDYEQnSDYyz1+9lksHj6i7VdBnSnyqy/9tJ0Zzu9w2iWNJ0GRk+O0L9SUhvWeCqnDKIeZM9PKiHn9s3SCFIydJsXyLRZElBR1a6aNZjgPi1pM0illbzHzcNZSbXveYDvt4M/5gJtL2GyReTjpKdGXqK1R7q9wpB1BZEbQPF7BL9gDe+9MH0F4eJjwGiJAHXxMbWvWAZMYyK0qLqvt1xC0lL7OxbI4J3KB3uJCsjBpS2IuUz/zX3/V8Pt2m38AFCuPwCgq9AWU2Lw== 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=pHxvttKDKxAFuOPIJb6HHy6WQKEi1sF0CENBJ4XtEvI=; b=SOrhpHvAhAT3mJQtEbIZNwGJy+6jNVxLbmRr6U5WbRSiEfxws+rWXjVPwXTRSX7gakkrz0xk5aoEXq7AVErwOadWwmyPuVtmt+J/whd0h9tr9jgymNlSZzVd7KmOyB0+yH7cAAHwoMeXIo1sJ+C55C0UfbyhDFvX3qqRLRj4WURUhEb/iS5Ygf8W2Lz+Y4czIlmXPTPK1Czj7f9kSeWnfSGhJuh626GplotvxzIMBYdZyJZwbO0DX1Dh62aiN3AQW7PPgKcI64eL4Bl7oSDU9QZk65DBaPkyeTm4z1AOxriv4OtVWZsSYUczH8vBGUZWhGfPSLd7iPMkhJ11EZpj/A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pHxvttKDKxAFuOPIJb6HHy6WQKEi1sF0CENBJ4XtEvI=; b=bO15XgDbFv020zJ0t8dH86e1+n/9puw4XOBz8tMhglVTjgpT6iMOo3oZjSCA4Hi7eUt7tv+UPvaY2MaYkPpqkQrTNqISBfNNy0vpIgcgeR4/0pne3qNy6HfCDUXehcD/0mXd9EyfSeJwy6Er3CxyeAa4hatRdgVb82A5JJUPqbsVAo4RmqaoYPCDPj9emYvP3c2pnOIEAP03SindwLNnSqh2YqYuehJbaz1QZL4jF5Q0UxF8s/A7DuaCFD6pNXbOvTOlYQQpRPdZaf0yYdSeXskcZRn2MIrnLEYphYWWNkG1hfrU5wDYvQicEtQSvPEatrJSXezu63zlwm9+jY9Dig== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from BL1PR12MB5174.namprd12.prod.outlook.com (2603:10b6:208:31c::19) by CY8PR12MB7220.namprd12.prod.outlook.com (2603:10b6:930:58::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.522.12; Tue, 20 Oct 2026 08:45:14 +0000 Received: from BL1PR12MB5174.namprd12.prod.outlook.com ([fe80::58de:822b:868:96e9]) by BL1PR12MB5174.namprd12.prod.outlook.com ([fe80::58de:822b:868:96e9%6]) with mapi id 15.21.0546.012; Tue, 20 Oct 2026 08:45:14 +0000 From: Andrea Righi To: Tejun Heo , David Vernet , Changwoo Min Cc: Emil Tsalapatis , sched-ext@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 1/3] sched/core: Avoid requeueing a singleton balance callback Date: Tue, 20 Oct 2026 10:43:19 +0200 Message-ID: <20261020084400.845842-2-arighi@nvidia.com> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261020084400.845842-1-arighi@nvidia.com> References: <20261020084400.845842-1-arighi@nvidia.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SA1P222CA0162.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:3c3::13) To BL1PR12MB5174.namprd12.prod.outlook.com (2603:10b6:208:31c::19) X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL1PR12MB5174:EE_|CY8PR12MB7220:EE_ X-MS-Office365-Filtering-Correlation-Id: b7edee2b-f41a-4fcb-f750-08df2e867558 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|23010399003|366016|10067099003|18002099003|22082099003|11063799006|261009223027099003|56012099006; X-Microsoft-Antispam-Message-Info: BCEorDpnCWdF16GAvBlbCzNuMzGvPZiuCleL85wr1FNkEw0orBmUkios+u/nS9hiYSnVLOgyxQsskAgPms9bkX7scGhMry6YJSfQJ6fAYPn1jFsvDWEBD1XKgPfSGziekps4LGSqR4/cBPgsAmFTq45lo4BZ0OpIEyvS8NOe78H+RaYbY2DcfUq6uNlFpVK8KUgsX/VJgto3ssGRg8EZwTTbmlGAI7+ou78aO82vR99HNSRtT28SGgQYG6SMMcx+Axz97prRzc2qLBuyEZUwJOVqjHWu3PeIna57woRaAX8U0GkqzfwHbc11E0JxJoFqJRPtqOxgWyPza5imKYKjsohRGJKhnSzuMz/o86jR3Sv4Icpnw0JIW9nrJyQlE2XrMKqp6YWTc9dDPrdOFivT7muPSDUhJig+K8NCz3tp3jYxMPUmNahLdFB5lxDQrguqP+MRt941VQgrzMdkmRMhnmlBK3GvgwB+NKmsAp9zyZ2vXpOpqjt1/yJAF6NCwhchDQuq+jibxhOsOsBXKrNQi8T5PVmIFD7voXixysPnw1KSPs+ENqb2Q+st3AwoT6Et7VuaS2dTdXT6pLTP8nYlsw7v6jJI+Yf2DgVorVRi0Mw4j4tTplwOKu9DSBbWnNJwkm4kK/YDZ3QVrkzI1veyMBIBGqXhJ2TWhbOu/lVMw+k= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5174.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(23010399003)(366016)(10067099003)(18002099003)(22082099003)(11063799006)(261009223027099003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?73cWGA4W3GqXO5MuJD4e8mu5pFGMefwKYfjhqjlnMcazer0muHqZmVYgyEST?= =?us-ascii?Q?rhNWMGbEBT2nR73uayJutZfQQdF6ABVLoJfOi9V+8EO29zCu7zMLUAOUKxoC?= =?us-ascii?Q?glUZdT0eCsG6rSxO0IIqm3eQHEzN4lpaeanvLUFHLioYqgIbOHIcTP8H78GU?= =?us-ascii?Q?4EibW0RMDnwTm9+PRjMrmHDsV/5W+YSEoGzIsmrqoSNOfJ650yF5Of9zF30h?= =?us-ascii?Q?cPyD1Rrv9W4JQ7zBpO+4ChizxtyesSHxqQ56PtqGEiOQ7AVaZWXrCxoAWgGY?= =?us-ascii?Q?5iaHiKHiigEq726F0Cg67dtfIZ0Ve93DARMUKKHjm83xSugYPe/Av2+4v+k8?= =?us-ascii?Q?qt7JlySJO5hII2+kXAei3+sA5r7HjUxTgbKxne5SsujoHGbobNsoe6dvhZSv?= =?us-ascii?Q?gXw3V8uOX2ElVSGxbon7wCmyZCtcIIcJVYU27goZLX3K2/tS5ZnNZRzbNwHS?= =?us-ascii?Q?SBiyuo1iVME3um0gRSN82RDl3iSlcHjfy92Ab8kt4VowHry+2sZ3sFRgQhJ+?= =?us-ascii?Q?ytSAhVJ9fgHeQ2jCax/yN0ShDijU5wOxceJ/Yl99+9aHJJ4lg7SuVYwrSMbk?= =?us-ascii?Q?R9wceb7zStKHO5ddWidRYy/eXurhcTk+vFTMlc6E8alo3UGSXSXp+dUJQ5cA?= =?us-ascii?Q?U9sdm+jhMCeaAResbkXIs8qN7TJUKKAxwwBF9z9HaRnKa0xn5n0bbtWXyUAa?= =?us-ascii?Q?+ZxEjTfNfEsQtwJIm094bGGMGqZNjQcE/XJYvI9nXxuo6ZI4LhGM61zCxDYR?= =?us-ascii?Q?JVOaI2wlYmeRX55EP934zD01rCkz4SppkXKtdAewJYQ6CDYw8QFkxNV3t2ww?= =?us-ascii?Q?Vt7kJJIXNzd1R4DxUKMeyOcdi+lt8FG09FARCNskHp2nMUmvYj3j0VIzqjIx?= =?us-ascii?Q?vyUxZL241efT3YDwKyx6Gty6x1Km933PWSTuqAX4+wRxAB6+1TFb1AdJYHUw?= =?us-ascii?Q?h7bK6YXu6Nid2WVwPdlFLmVra2HvyBBMFHnIcb/ont1FJvHb3ikzCwMntFSR?= =?us-ascii?Q?9yMOj5J8GTmud7lmbjfMQlRRewL9rLplDVy2lqSt1Y6I2+7p9ZI15Y2fngW3?= =?us-ascii?Q?TbiJZOFfxYf39etHermHFGIteQBzvL1W+HyLUYvzt7v07Zjv5E+gqIqUgWpo?= =?us-ascii?Q?+J8ceg6fTyVaJidWS+h2dcPSVK815YIJ7hjleLGKB4rm9Gzpm7CXRymeQLT6?= =?us-ascii?Q?/nIuiFlMnKCIXdieQZOa+AkjY6vgRpOmrmwzlfys2pao7yA+vW3Vu41jrf90?= =?us-ascii?Q?YfJrpQ347FhUVA9sagXRjgD+EX7vwdgeD5h49Z6VU7fHsUiVI5WRM/mwwNDX?= =?us-ascii?Q?SMRrD2h+tUkubfI/VB0Jr8UR5jC2hOTEFP0/3QuNhefHV8YHr9hPhAof3qH0?= =?us-ascii?Q?/jBaBDAaWURiLe0PY9qQhnvupI8J6EumlmpjHJYzsDvMTSXODxlu84dQiFG3?= =?us-ascii?Q?Wi3YTSVIRyykfng+YUsO9WW/DgxC+gcnp3wif6qS4MEHgxpMJl/IER6hoER2?= =?us-ascii?Q?ZaxVJY2edLlYmc8kARoLAED4l7qv3VHAFU0XjsCxJYQVdm3RBnxJHBKuBSl2?= =?us-ascii?Q?2E1QMxwwntxLDEgApEWZy68gqp/NKtbYlHvBMbvfSvDp08fXOSE2afmVPILD?= =?us-ascii?Q?NdT6CVoygTGsfqEoXnzPiWaHhOnn94OJT5lHqmGL5sGC4adKgV9CwcDgjYFM?= =?us-ascii?Q?hFBBkugqAlqTXcK9Ogv5F6gLfCCjls8g5LcXUefGxfngmpiN?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: b7edee2b-f41a-4fcb-f750-08df2e867558 X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5174.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2026 08:45:14.0627 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: NqHfJwa2Jyd+6wDvCxaS3hH6BJndwD6e/9aRf0scLv+D2ShNlZfYQ8UE9efp2eIQ1yfsXuNOcbz7fZLt1wjZdQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7220 With proxy execution, __schedule() can call set_next_task_scx() with SNT_REPICK and then SNT_PICK for the same donor. Both calls queue the kick_sync balance callback while kick_sync_pending remains set. When the callback is the only list entry, its next pointer is NULL, so the existing duplicate check misses it. Queueing it again links it to itself and causes the wait to run twice. Also check whether the callback is already the head of the list to reject the second insertion. Fixes: e2859566ffbc ("sched_ext: Queue the kick_sync wait from set_next_task_scx()") Reported-by: Tejun Heo Link: https://lore.kernel.org/r/08cac02c604dd73ef96fc92eb29d692b@kernel.org Signed-off-by: Andrea Righi --- kernel/sched/sched.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index 9e7993256c817..628765910934a 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -2175,7 +2175,8 @@ queue_balance_callback(struct rq *rq, * balance_push() is active, see the comment with * balance_push_callback. */ - if (unlikely(head->next || rq->balance_callback == &balance_push_callback)) + if (unlikely(head->next || rq->balance_callback == head || + rq->balance_callback == &balance_push_callback)) return; head->func = func; -- 2.56.0