From nobody Mon Sep 28 18:34:06 2026 Received: from OS8PR02CU002.outbound.protection.outlook.com (mail-japanwestazon11022087.outbound.protection.outlook.com [40.107.75.87]) (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 652CC37C0F8 for ; Wed, 19 Aug 2026 08:13:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.75.87 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787127210; cv=fail; b=N1AsjP736/sn8eYrBRZZY1AZzT3cxGhokc3r90F04JvOW0SBKv2ioluNZszduhDmTgYKoHi3pFThHuYsk8wfqZqrbompow9UH9HaizwHjNv1y3lTKblofy3rtjay6sDLDKOf3RR8qJG7D4wv1TLmLyvAv+J9LUIe4LqIwu4D1iM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787127210; c=relaxed/simple; bh=OxZEiXJ7jfs10PjMdwzxZ7FWV9dJ+FFAe5nPSxaOHNM=; h=From:To:CC:Subject:Date:Message-ID:Content-Type:MIME-Version; b=QVdfCYMVPH0DrGquw5lbs6a+sR0JWreuMyX6FTIcO83D99X+SrTg/UEdjmlpzaxf1kDugsmsIXwOEGQJcILgRYcIcFfXZOurIYWAlaUX0u9dgln2FZZOW2WckaGFt7SddOeUvY9zoDEG0eVjzWH56vrmjErh5CFj27uKvq7o584= 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=kXI+9Mbt; arc=fail smtp.client-ip=40.107.75.87 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="kXI+9Mbt" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TKDdO2qQrKo/f86poBwFOdYNRLRuFKeEdwV6S2akd7Qe/2y5tlhlPCtSsvbHD8S0MYpPkIY4QXz0Vf1Gs5ojHhm4mV19vViESAsyPnkke0QU3QnQdRmf63HJcS1K/vuS8amOv7g/29VWw3wu/DiCJ1oKzS20J9QTAQ0uAcfmbhMtCoDMaajU+ESuZOQ1UShikc34gfwMQ0GEzJKCRvWzVd/mRjKCOHUI4RKVWuAFuShJ+vXTOw89jC+v6iLJ8rWLenn96HEHpDJt6F2a8/HVy0mmLO4niDpP6mvOI4Xxt2DMr4jr36v7X5gX5P1zL5mvvnmLyKQb/fEKzXhRUL0O4A== 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=BtHid/lAEKlYQxszfNQKR3wtTOh9eVnEcW6aNRg1hWA=; b=iT+BocKrjXFHD8zq8gLoxP+Z7e/sdpxFKpSZ8bW0zOhw53HvO6m/QuPN4rQptPyj1UstIEWy5zEcbgG07jLWh9K4cN0MCt+qK312aXnJ7YzWpeyfzMqWQZKk7qdtH2T7BerPTXpRI66FUk7tJkciOg86KwupqZ41l+NnV9xA0iFF1mCGX4Qn1aFnJXgQ54weemea6IJf1hCBNGaeCg3CNAeQxPirvWUwVTgX3yeekDvNqQyscQTyxrysiuKXZXNuDxyCgPloxDlJHw3HbbshRhI2ccsHIb3GhIvUsLNmdDV8NtqrSUTGV1LtaEXRxbF+DsmxI9mQ2LfOYYZwXLCeDg== 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=BtHid/lAEKlYQxszfNQKR3wtTOh9eVnEcW6aNRg1hWA=; b=kXI+9MbttmmbkRiTWcEUCeOxL/osGZjr78FLgyRlbrOEXmcvWRfbMHuFGKpnC2SkhEIcRBObu41qB2/UHlGTJhcy1g+IfXOZqxfDS78hrCEhsjV8Wpsr5ROlW0K/7VuHYzCt99xzcQU7bngPhDQzp1ypgQQErKR95GYwiyhRxus= 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:13:14 +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:13:14 +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/feat: Use the new static key API for sched_feat Thread-Topic: [PATCH RESEND] sched/feat: Use the new static key API for sched_feat Thread-Index: AQHdL7KUtQyvRLVT6kKNgDGpJXdAqQ== Date: Wed, 19 Aug 2026 08:13:14 +0000 Message-ID: <20260819081312.12447-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: e2008120-a90e-4a89-605d-08defdc9b779 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|10067099003|56012099006|11063799006|18002099003; x-microsoft-antispam-message-info: 8aQt/3CHXiPxW13d0d5IHh4WWBOYU+4dstk7dM9ftYMcMrz7PgIp98hS1QT1xs/VnkGLNsePt5fG/ETRGgwSAn9SOfOgZHtu4yys9NIGfSFBkvqWfPiMeC4tdq7Q0YkCIzwzoK3+8eQCBTpanTzlVmqxnUNb6G4T0JGypBIBtoXJxD4Q2sQEtg+AmRiOYltgoKpAPJVjymWYzyFU+PiKYwBbzqwBfrCmXuALF5g82PxknLnE9fG+zV/V+mwNITsJNmfamAqsD7Rwlefuw60w3SiCL3JOyXql1qVF5pIlQRLA3hGfu7nfVIl/R9YYgLX8N96Ew5lysfjXk66kHIAevSB+Jk/PesmbCGQeJrnuTl6wbjRv4g7sN3hRJSohYl4aACuUOnMQAqGx2VrmamCJ89+KTbsffhdOcgV2DVjLqU83O7/bDTu9SU/jG21e3bEWw8k+9H1CAclzVOsMgjE2T7gPbuTsaw85aNZZ9G8tqcOHBYy5evQhtkxhAQmQ39H5dUJ7EMNllnNhZpKBygcjrk2No/I4691gZlWqnrappI0+DugFjL+WYSsTxupNAi8O+GPm2Mi+3vOOT/yGwoB7NfiWLGa9FR8/GIkm+9JVdpvx0Yp92bypB5JsuOVb7iPgvh0tbOBqZwQu1O0owtwB57SIur4Z/zP8X8upH8HvQrYUMyw9UU34oPOSIsrr/NrAMXQUAZaDoyd7eM/9C+F9c0rIt10nAFE6eKlt6QHlKhY= 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)(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?Nebpmd0OP/oS9fDrDfr1rmDIIhsVmMvSMI8ENXAb36q5cv0jvLCT9mHaIq?= =?iso-8859-1?Q?Pv2npltEhTEIKvFy5JXqTSmMJ1JxBy+RDmdToT2adHx2TX3bPxwy94hGlC?= =?iso-8859-1?Q?CtWaSiR1hxRfVK+ygDC5olj5Wl8Z0Vj+vlPL5M1Hp6wcz7EUCDa6G1ghx0?= =?iso-8859-1?Q?4bz3lEeSvE4gvU+y9CwbMer9U9RRySRdPAzdRDFf8GTTCUrIgXK7/3uSeM?= =?iso-8859-1?Q?ha/b3urX2xEAx8jFHwAu6ztYDn991MkyJnMt98vo/y8Fhr4cHLTZCcCJIB?= =?iso-8859-1?Q?kvs211flVrBJspCaD25rgpJqYOKZS14ubrofRttHZbWya7n5WFNlKinhkm?= =?iso-8859-1?Q?thwngQY11yHwxlyH6TxWsVzFWRX+1schpLs/ndya6o5w+ZArg0AhjRNbN2?= =?iso-8859-1?Q?fHtM1CrrvMbYf/5EMannKrzeS0tTZpkYgcTVpJwleK/HkVLXdFREntYSEh?= =?iso-8859-1?Q?kB9tSTWLISgDPx8yv1N+2AnDOBvpnDiU4XpzTSBLlxrhOAjwXrJN7KvSFh?= =?iso-8859-1?Q?d9p5dM9AdrBbBqjxFzhYiu+sJc2cyl2lUs91fJSJlF8j02ZsAuL2u3ua8+?= =?iso-8859-1?Q?u7tAik6LvQ5KET+dZDGBZ7vCy77cu2jRfi9ZfRts7iXe5sZd1noDJa5lXh?= =?iso-8859-1?Q?CFMryWNPUGxuhpe3rzDeGEFSxzikd4/xU7IAV5/Kqzu2vXVUFuRYrN+0n4?= =?iso-8859-1?Q?kumjcpakDmnRgvc38QrFutld29d4JCldh7okf8RHmpHjSF3YE4lYBjLZHd?= =?iso-8859-1?Q?oKD4K+Ql3XQhhLnLT/uz0n5Bcie3InXNNXRXHbJWfCO33sFjlCb7ZqCljM?= =?iso-8859-1?Q?9yykKsla6o13XeXHR9BT37rbKTrlXh8wyWSULPpto9ZJNmaiQog7V1UEHI?= =?iso-8859-1?Q?ds+u4ChsVFGpNHsyZSxkc7gJlHH8kzsi6Nzj2PWNFXjLGOnZvsLhl+Rfuh?= =?iso-8859-1?Q?JoAjGDQ3eYJHlLxaU6IXnw1IekEkACMcCn6beQ9b0RGS6y+nk/mej78WZ4?= =?iso-8859-1?Q?+0FulF5vjMZHd+Ub6whNnrj7VfD82OlEHY7xJaguxNH0XH3vooXFgqa8jE?= =?iso-8859-1?Q?PD4LbWA4zzBia3hqu9NbXIR3ZJy7l5m50JWA4H/o09DtVoHCo66p+ZU8c1?= =?iso-8859-1?Q?Ay6w0JfgvAvZ1rzHgDj4Z8fBznLB6w0ZzlGtaa7JkrrGWOXfgNvedi3Gda?= =?iso-8859-1?Q?4h9yKl0yTvtWalG2DEwIVRvDjjzOaKSQaDFGVbD+P8uJGtalyN+xKambhT?= =?iso-8859-1?Q?WuMq8RG3eKNOpvZstuxNRFD4NeHJ1W8oh332hbjJ+BP68IVsbQhVuY4O/P?= =?iso-8859-1?Q?NBDiLr8qooW8eSQT33jTzociSGFSY1V12QcxHsm4XaMDL13bDBSR/8ifiB?= =?iso-8859-1?Q?2+/BPOzR3WLALNz2++qSBcI4Angz04dgL8UBHPVITefFvood1aREyIPowi?= =?iso-8859-1?Q?moicvnE9Gg+w9aTZCP+tgrj8PZy/FowgdPvHHBpgt/SADUdzcaBIX58hhG?= =?iso-8859-1?Q?nE9ynr1Qt6tRtr1yNCOGKQz/wNmzOWyXZs8EFRqwqEwe3dsykZRwH+Z708?= =?iso-8859-1?Q?xNdptft/dwpVY7fHRQeSTRkZPtXSvvETLO3+SwmlxGs2X3tCaJrRZPiIho?= =?iso-8859-1?Q?hbm1iu4QY8PpJnXlypaFVp9PPs4ilwM2+gN/sx0AvOqHw2vO52t9zlfbYc?= =?iso-8859-1?Q?QTa9DVR/VyZV5YfEYmaaR0KnNkDcD5E4Mps+oWOeYqIsl6dLfOJik8Ypjq?= =?iso-8859-1?Q?oIwj/408AJCbA5bEMccm6OnuuQnAD3zMLBefu+DCqNdqBNGGNrfiEZ2Z2A?= =?iso-8859-1?Q?5TmmH6puBQ=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: e2008120-a90e-4a89-605d-08defdc9b779 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Aug 2026 08:13:14.1602 (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: uiF4h44/DObl4M7SqmA/i63YwXwAF89cO3eCtq37PD0tUGJQJXQKsVFTZPqUFufqaNBOhRjnvIcSqWuyaMQbY8FhexX+CJBEG0mr9ZFhBOM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEZPR04MB6432 Content-Type: text/plain; charset="utf-8" From: Hongyan Xia Both raw static keys and static_key_true/false() have been deprecated. Migrate to new API. It's a bit tricky to convert the sched_feat array to the new API because the new one has two different types for true and false keys. Use a union to wrap it. 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. kernel/sched/debug.c | 10 +++++----- kernel/sched/sched.h | 19 ++++++++++++++----- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c index 40584b27ea0c..319bf64897f0 100644 --- a/kernel/sched/debug.c +++ b/kernel/sched/debug.c @@ -73,13 +73,13 @@ static int sched_feat_show(struct seq_file *m, void *v) =20 #ifdef CONFIG_JUMP_LABEL =20 -#define jump_label_key__true STATIC_KEY_INIT_TRUE -#define jump_label_key__false STATIC_KEY_INIT_FALSE +#define jump_label_key__true { .key_true =3D STATIC_KEY_TRUE_INIT } +#define jump_label_key__false { .key_false =3D STATIC_KEY_FALSE_INIT } =20 #define SCHED_FEAT(name, enabled) \ jump_label_key__##enabled , =20 -struct static_key sched_feat_keys[__SCHED_FEAT_NR] =3D { +union sched_feat_key sched_feat_keys[__SCHED_FEAT_NR] =3D { #include "features.h" }; =20 @@ -87,12 +87,12 @@ struct static_key sched_feat_keys[__SCHED_FEAT_NR] =3D { =20 static void sched_feat_disable(int i) { - static_key_disable_cpuslocked(&sched_feat_keys[i]); + static_branch_disable_cpuslocked(&sched_feat_keys[i].key_true); } =20 static void sched_feat_enable(int i) { - static_key_enable_cpuslocked(&sched_feat_keys[i]); + static_branch_enable_cpuslocked(&sched_feat_keys[i].key_false); } #else /* !CONFIG_JUMP_LABEL: */ static void sched_feat_disable(int i) { }; diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index b494e24efebb..abcf7d00bc5f 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -2409,16 +2409,25 @@ extern __read_mostly unsigned int sysctl_sched_feat= ures; =20 #ifdef CONFIG_JUMP_LABEL =20 -#define SCHED_FEAT(name, enabled) \ -static __always_inline bool static_branch_##name(struct static_key *key) \ -{ \ - return static_key_##enabled(key); \ +union sched_feat_key { + struct static_key_true key_true; + struct static_key_false key_false; +}; + +#define sched_feat_branch_true(key) static_branch_likely(&(key)->key_true) +#define sched_feat_branch_false(key) static_branch_unlikely(&(key)->key_fa= lse) + +#define SCHED_FEAT(name, enabled) \ +static __always_inline bool \ +static_branch_##name(union sched_feat_key *key) \ +{ \ + return sched_feat_branch_##enabled(key); \ } =20 #include "features.h" #undef SCHED_FEAT =20 -extern struct static_key sched_feat_keys[__SCHED_FEAT_NR]; +extern union sched_feat_key sched_feat_keys[__SCHED_FEAT_NR]; #define sched_feat(x) (static_branch_##x(&sched_feat_keys[__SCHED_FEAT_##x= ])) =20 #else /* !CONFIG_JUMP_LABEL: */ --=20 2.47.3