From nobody Mon Sep 28 18:34:36 2026 Received: from TYDPR03CU002.outbound.protection.outlook.com (mail-japaneastazon11023085.outbound.protection.outlook.com [52.101.127.85]) (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 E81644028FA for ; Wed, 19 Aug 2026 08:09:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.127.85 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787126987; cv=fail; b=DyQYKypmLOPQkNq+JA8MO6aQhrOayM9KZUbs6mNcCfGuDtauPIhPCa1sHcwb/Y0QWOCqjFnmJag/AHp741KtkbKXT5N7kmGtIE6j3jhBI5wciaDY1Ht81BeIj8ywqZOM4QkCRYmKtgzBENBcDgkDbkRSF2mMSRKEheHPIApqQ2A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787126987; c=relaxed/simple; bh=AITqYMbl0Qy5lj+aqC0DajifpsJEnJeN3HnCkQKA84M=; h=From:To:CC:Subject:Date:Message-ID:Content-Type:MIME-Version; b=lxcnY5PABOQNyJekpV+UeN4tooOxFfjW1QwZAlIN7ZsCycXqlT0kOBU3F6Qv4JNI/C5Y/6PicxBIKwviX55EkGkehptG+oun3or6Ry3l0KtOX9zGm3+BEHNaXC61v+Ew8Z6UoFugHu4K+geapvdANGSy1zq3FgG5js31buPkXK8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=transsion.com; spf=pass smtp.mailfrom=transsion.com; dkim=pass (1024-bit key) header.d=transsion.com header.i=@transsion.com header.b=KXEa4Tyx; arc=fail smtp.client-ip=52.101.127.85 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=transsion.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=transsion.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=transsion.com header.i=@transsion.com header.b="KXEa4Tyx" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=flLfE+d024kjVSqNALTb8NqL2vgTQNg4ZzTp+lmgDVbMJrI593cRP/aiv0pTumPpAeZbmEF8awaIIAw1FCkfh/pt6JZCNGu0jsh1o/7vR3Uzm1MA9ZumqcMXo3y+a+TgxH+6mqxczwej9Y4XJx1a8cJwgYijVAQHb0Yu0FykK/MGuBlTClTFwgEJlY3h3kloWw5MxwI4EI73Q7JghVTyvgeVz9VJ+lHDIEDnrDtuhLxADX1Fgvz/5WKtVNUnX8U7Tzi1rhOd5ZrTr3wAyszbDyPbq/2Tcrt2Lsv5cTDablf9jatIh40dj+5ZT3dLXHFFYa8e/i/cLC9HtXDeEJR+mA== 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=T25wbsxuvmhbyA3OsLX7tOj5/ASaymK3gnPDN3RMEdI=; b=Kpm2aLNfBeLv4NkglkD7S2FLQjgiZM17MuBZ1ILqN6cZ7OJH9XCuG+pDxhPiryj/RikYeeLeLV7V5IywUjXSxQs8oz+O5yAw/pj9k22rhm6/L/nJ8hrZp5BuOqTim5/4NDcPH3Y4u5OAVoUr9keQAdYPWdzczKJ7hVfIr2cJa0oDBIHSuYyeofjF0XhS1kqMq8zpsg6lpSAD9ZQtSPQlIyLfGcrbIVmUbvLfD83OOuHdIl4D5KKFWriFj9cFVa3LjLioLy1gSuIADLG0pexAGx9RDc6x77wjo+QKw2mYpwX5Cj7VOoOC084dY92/sCaf5pLXZYjHVolfs3yvIMKqCg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=transsion.com; dmarc=pass action=none header.from=transsion.com; dkim=pass header.d=transsion.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=transsion.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=T25wbsxuvmhbyA3OsLX7tOj5/ASaymK3gnPDN3RMEdI=; b=KXEa4TyxLu2yLBDxjPnh62PjKyjVaH2BdMPMC8GNYuSeR8IuKmKVau2qT8NMbI/jFASI9IhdMSZ7TF+c9zOyAxI79WCFdEynf5zCVp6epc+rYzjSz50kb786icjr/gAYaMBbgJ4ZKnNAt4zqWz1+ydBjj50en1oKOe5Uaswi3kc= Received: from KL1PR0401MB6196.apcprd04.prod.outlook.com (2603:1096:820:c7::13) by SEZPR04MB6432.apcprd04.prod.outlook.com (2603:1096:101:a8::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.8; Wed, 19 Aug 2026 08:09:39 +0000 Received: from KL1PR0401MB6196.apcprd04.prod.outlook.com ([fe80::f2ee:1e28:9022:99f3]) by KL1PR0401MB6196.apcprd04.prod.outlook.com ([fe80::f2ee:1e28:9022:99f3%3]) with mapi id 15.21.0339.007; Wed, 19 Aug 2026 08:09:39 +0000 From: Hongyan Xia To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , K Prateek Nayak CC: Jiazi Li , "linux-kernel@vger.kernel.org" Subject: [PATCH RESEND] sched: Move some scheduler fields to new static branch API Thread-Topic: [PATCH RESEND] sched: Move some scheduler fields to new static branch API Thread-Index: AQHdL7IUjAwk514CTkuiOmYMCHi/bw== Date: Wed, 19 Aug 2026 08:09:38 +0000 Message-ID: <20260819080932.11564-1-hongyan.xia@transsion.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=transsion.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: KL1PR0401MB6196:EE_|SEZPR04MB6432:EE_ x-ms-office365-filtering-correlation-id: 6ae28dab-97e4-4779-af0f-08defdc9373d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|23010399003|366016|921020|38070700021|6133799003|10067099003|56012099006|11063799006|18002099003; x-microsoft-antispam-message-info: BnRFPaCxv335bDsdYaSVs/0cv619ZIsPzwVAGSqVNZQ+z/hE6/H828dOWYoZfCvd9YuQaRiApr2Taontuaui5mAKr4/JMv/qRFe4F7VaBIKgRpqUcbVOPRR+AW5z9ud1J4XrXSo0LVmtqbHQ1nBQB7k62SIwmJ4hHCpp0qBDFXITman/blSGI6RKGZ6XmpOlaVKzHvMfUUtqlzpqHhrsftSllMTCrroZkZnmf6vH7vqi+1/wLTWQ47nXT2dgdxCGQQYec4xE2b8uwh8T8SgIacosdBVtXmnxBYestXk2uGQZi9R4wyxLrh+Kj1yFknj8nEF0QZBWG+xQtDc1e/iE5RDpNj7oA6mMTdVdcN424J5fit5+0oSthpskg4iAcG4bSHgsyP3EQYEMGpdrJz9euUM5CUJz7U2xtE/fUi0qJWo9kBg5lSBFxxnk8QXuiRY7jWCZ6G0uTVa/2rQZQPLBfx2YfX8m943b6iYTKrtYJxiCKN+gz5jfpXaPM0Vd+wPPiBZZo2AlPCB1/gHG2/4UEFlRgrzfRzfzfGEzbcEiPlyNuA3xtJvPOm/yo3xmm/9QRUL/gN19CNWaq6TZQx5emHwA9v8kGDr+nOP2q+VGsufdCHhc/FcLp1p3Xwj0WWqeeg/9bt4iMi8PBKK/sykKNc/Hjskj9xELsrdmWDHk2o1RYDYV78wEOQ5fcUYAgbnzRTtWsIWQQHCJwo+pC9BNdOB675LRaZR53svJBkeIJRs= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:KL1PR0401MB6196.apcprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(1800799024)(23010399003)(366016)(921020)(38070700021)(6133799003)(10067099003)(56012099006)(11063799006)(18002099003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?4CNZ4WQt2UZ/q9lyDJ7jLKs+G/Za8w2AnljX87uR4faRZIqVUl4jTj6Xz4?= =?iso-8859-1?Q?GwyfZdh6GSZWjFmM8Mme/qsa8p284Bkzl9I/hDBy5MY/i85QPrlL0eyLy6?= =?iso-8859-1?Q?fNGBwjSLXjoIdUFHb8saLVWeAJWjZ3euIsiC97fWrcp86ikyLOeobGEoc5?= =?iso-8859-1?Q?SmF12d7jGBtXZ3HEReR6A+kGZ3J3caHxZMMuMSFdjvevYF4WSP4zFgo2PK?= =?iso-8859-1?Q?H8TWXCpzuzB7kRIVp8GCCfeVfgusIT7XhZrn7Q9kizBPdT1kZI4xAMRn02?= =?iso-8859-1?Q?8+dpMcrAxpQa61TJtenD8oXqLTmP+pHBrPcsleH19CyvhOqfubhr3Timpu?= =?iso-8859-1?Q?6jp6HBKK505ZyG2CBJVShEy5EKidPzgmGEkTW3JbWccjiz4HjcEXnbjYD6?= =?iso-8859-1?Q?tnV6pJZ6WnerL2eyWhaIYkmeyyPmnmn0DUI8EixgxNoHircy1pDYLBAKQc?= =?iso-8859-1?Q?3BpT8ZClmI3OlFiMiLB0U5LTeKpGz7wQz69DSRjeNWNpRVaW2pvhLB46WQ?= =?iso-8859-1?Q?jQ9j9ueziYEZnpon5CONJHQ7rIYtxYHNvdAmNOhvR2CH5uipKDUcNtqqGJ?= =?iso-8859-1?Q?US5kHEEljEHaME56x0ADtO1yRszY6FfnMY7P3hlkV7ggWdS7W8/PueTSQn?= =?iso-8859-1?Q?1D+ZIsju6jgKyLzQsMAezDMjU1GSps21Af79+z3M3JR2PRj4UYK/roMC9u?= =?iso-8859-1?Q?2QtrkFBXIj7fWlb5Hlq7yJg4Lf7grCYwXVJZ5TExbpvbNnKv9478CDxlhR?= =?iso-8859-1?Q?HLxvBjHR1+dnrCF5Mbe1FRBrP+iiLd5BtN+yJDO0j3bHtEWoszCzKh6e/p?= =?iso-8859-1?Q?H5rprbx134gWq5yLl1KcE0Xuu0g2uPMbIi7Z3AgyyJaAb3Lk0GVoV7Ibf/?= =?iso-8859-1?Q?Mhqw/4n9Km5ohPRCoG6cbwPLNAzuEwlOTZuYjrLB7JtpElnE5rkHM+RiY6?= =?iso-8859-1?Q?9PUN9mOY5UG58YFkgpm/SnPNsd2LZs2gMp9gL5pEOf3fBTU1oNHhQRhqeo?= =?iso-8859-1?Q?YvmUyo1KE5A+HSi8UVzZCBNGu9vp+YX6TOPkK5K5CE0QWz/uncno89KIg7?= =?iso-8859-1?Q?hNBUh9o89yQZpaTVk35lL0de9GI3TUocLf8Up8WsJAh7qn1kaxK44Bj2oS?= =?iso-8859-1?Q?gmE+9tlkF4ncyRfiATa8uGQPg2mlg2VkmOk/S5G1ApFZzxhpnppWjSFgvd?= =?iso-8859-1?Q?mJhLXQnz/gG+ugL+gUBrKTRWXaUn2gQr3yDBcNxWTDOEbQ00L9iv+Bgzsw?= =?iso-8859-1?Q?VK9qoLDGX/HAwbDzv8HWwZGJS3pl29N3ChPHrle8FSke4t7j/3WRucl/RS?= =?iso-8859-1?Q?fAXvKpAWgV/S+93dtFBtNQf9Tn3RODXxe25bRTgkfFCQMYI1VI3+uAJGKr?= =?iso-8859-1?Q?Yd1DHWrmX5/FoWGdy2fq7DgLarSkurr6R5FbGP2fyPnE2gkAAKY+xzmCmE?= =?iso-8859-1?Q?BcKHV9BfWeOZ6tkydPCoMvOEUSQaO/CjviaxxCvGAPO9OKabkU1V+5mp7a?= =?iso-8859-1?Q?TTMl02L4ETC9pGGuzJw/Tik2MssW4iPq+ohol9v8p34Qv4JpoyPouFh9yJ?= =?iso-8859-1?Q?/IlGTbEGzGCwf1gLpreap0Aa0BrgfERethUfbf5wzSZO2Yi/VHrxIwYCEO?= =?iso-8859-1?Q?/GNOwcezo9PWepeN8HTubAzS3qthRKX0fMNIAtiwE8J/ubBktPKssMSqMv?= =?iso-8859-1?Q?J0MO5jblxFTDsMly0rPp9VJ567nW5g5T6nGKnMdHiLy9SxeGPUKkK3/UC1?= =?iso-8859-1?Q?Xgfty8s5oReHpGEJl2ByKd1YsP1eo+p/tjvOLRBX+2vjjxl0U8wx5zLPLa?= =?iso-8859-1?Q?JkAFoxem2A=3D=3D?= Content-Transfer-Encoding: quoted-printable Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: transsion.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: KL1PR0401MB6196.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6ae28dab-97e4-4779-af0f-08defdc9373d X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Aug 2026 08:09:38.9784 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 2e8503a6-2d01-4333-8e36-6ab7c8cd7ae2 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 8JK6v4poIUsmhvwGt3549tJKdRmlcKw/vAUL04nYQS+WelJy3MXmBGSB4c4ENwtkBy4ethjTHEb18qMp2/ynZhML8XiUQtV6FImAtFoS/Jw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEZPR04MB6432 Content-Type: text/plain; charset="utf-8" From: Hongyan Xia __cfs_bandwidth_used uses struct static_key directly which is deprecated. Fix. sk_dynamic_* uses static_key_{enable/disable}(), which aren't really deprecated, but take the opportunity to move to the new static_branch_* APIs to be consistent. No functional change. Signed-off-by: Hongyan Xia --- Changed in RESEND: - Separate the original series into individual patches. They aren't easy to review as a series. - Move sk_dynamic_* to the new API as well. kernel/sched/core.c | 18 +++++++++--------- kernel/sched/fair.c | 8 ++++---- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 96226707c2f6..5c07d53e43b5 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -7933,15 +7933,15 @@ int sched_dynamic_mode(const char *str) return -EINVAL; } =20 -# define preempt_dynamic_key_enable(f) static_key_enable(&sk_dynamic_##f.k= ey) -# define preempt_dynamic_key_disable(f) static_key_disable(&sk_dynamic_##f= .key) +# define preempt_dynamic_branch_enable(f) static_branch_enable(&sk_dynamic= _##f) +# define preempt_dynamic_branch_disable(f) static_branch_disable(&sk_dynam= ic_##f) =20 # if defined(CONFIG_HAVE_PREEMPT_DYNAMIC_CALL) # define preempt_dynamic_enable(f) static_call_update(f, f##_dynamic_enab= led) # define preempt_dynamic_disable(f) static_call_update(f, f##_dynamic_dis= abled) # elif defined(CONFIG_HAVE_PREEMPT_DYNAMIC_KEY) -# define preempt_dynamic_enable(f) preempt_dynamic_key_enable(f) -# define preempt_dynamic_disable(f) preempt_dynamic_key_disable(f) +# define preempt_dynamic_enable(f) preempt_dynamic_branch_enable(f) +# define preempt_dynamic_disable(f) preempt_dynamic_branch_disable(f) # else # error "Unsupported PREEMPT_DYNAMIC mechanism" # endif @@ -7959,7 +7959,7 @@ static void __sched_dynamic_update(int mode) preempt_dynamic_enable(preempt_schedule); preempt_dynamic_enable(preempt_schedule_notrace); preempt_dynamic_enable(irqentry_exit_cond_resched); - preempt_dynamic_key_disable(preempt_lazy); + preempt_dynamic_branch_disable(preempt_lazy); =20 switch (mode) { case preempt_dynamic_none: @@ -7968,7 +7968,7 @@ static void __sched_dynamic_update(int mode) preempt_dynamic_disable(preempt_schedule); preempt_dynamic_disable(preempt_schedule_notrace); preempt_dynamic_disable(irqentry_exit_cond_resched); - preempt_dynamic_key_disable(preempt_lazy); + preempt_dynamic_branch_disable(preempt_lazy); if (mode !=3D preempt_dynamic_mode) pr_info("Dynamic Preempt: none\n"); break; @@ -7979,7 +7979,7 @@ static void __sched_dynamic_update(int mode) preempt_dynamic_disable(preempt_schedule); preempt_dynamic_disable(preempt_schedule_notrace); preempt_dynamic_disable(irqentry_exit_cond_resched); - preempt_dynamic_key_disable(preempt_lazy); + preempt_dynamic_branch_disable(preempt_lazy); if (mode !=3D preempt_dynamic_mode) pr_info("Dynamic Preempt: voluntary\n"); break; @@ -7990,7 +7990,7 @@ static void __sched_dynamic_update(int mode) preempt_dynamic_enable(preempt_schedule); preempt_dynamic_enable(preempt_schedule_notrace); preempt_dynamic_enable(irqentry_exit_cond_resched); - preempt_dynamic_key_disable(preempt_lazy); + preempt_dynamic_branch_disable(preempt_lazy); if (mode !=3D preempt_dynamic_mode) pr_info("Dynamic Preempt: full\n"); break; @@ -8001,7 +8001,7 @@ static void __sched_dynamic_update(int mode) preempt_dynamic_enable(preempt_schedule); preempt_dynamic_enable(preempt_schedule_notrace); preempt_dynamic_enable(irqentry_exit_cond_resched); - preempt_dynamic_key_enable(preempt_lazy); + preempt_dynamic_branch_enable(preempt_lazy); if (mode !=3D preempt_dynamic_mode) pr_info("Dynamic Preempt: lazy\n"); break; diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 762dd8a4647c..4b65be5ec471 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -6442,21 +6442,21 @@ entity_tick(struct cfs_rq *cfs_rq, struct sched_ent= ity *curr, int queued) #ifdef CONFIG_CFS_BANDWIDTH =20 #ifdef CONFIG_JUMP_LABEL -static struct static_key __cfs_bandwidth_used; +static DEFINE_STATIC_KEY_FALSE(__cfs_bandwidth_used); =20 static inline bool cfs_bandwidth_used(void) { - return static_key_false(&__cfs_bandwidth_used); + return static_branch_unlikely(&__cfs_bandwidth_used); } =20 void cfs_bandwidth_usage_inc(void) { - static_key_slow_inc_cpuslocked(&__cfs_bandwidth_used); + static_branch_inc_cpuslocked(&__cfs_bandwidth_used); } =20 void cfs_bandwidth_usage_dec(void) { - static_key_slow_dec_cpuslocked(&__cfs_bandwidth_used); + static_branch_dec_cpuslocked(&__cfs_bandwidth_used); } #else /* !CONFIG_JUMP_LABEL: */ static bool cfs_bandwidth_used(void) --=20 2.47.3