From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from LO0P265CU003.outbound.protection.outlook.com (mail-uksouthazon11022082.outbound.protection.outlook.com [52.101.96.82]) (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 68E3E1DF256 for ; Tue, 6 Jan 2026 03:42:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.96.82 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767670943; cv=fail; b=HMmZG+Zq24zTv+GBawcRhBk1bkh0j0Mcr1OcLiNDHJmi/7lTy2HhhD0XCW/F8HaalDOQHwfHRMfP/untKMIx1eA01ITy+mOj5phRnb43ezJ3B9gyER83kAiYKv2KQMEKCzhQthaRkZXIzqN7KmDxm6D+ThbsO9rbrFEg6LkWgqM= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767670943; c=relaxed/simple; bh=NezIfgKYrthAM/LscnisJ3JYb44F+DUyUHQepZDYCWw=; h=From:To:Cc:Subject:Date:Message-ID:Content-Type:MIME-Version; b=VhEWtu5wQJCcbjPVUB9e/XKsRq3n8enXojUo13FCaiGgMWEVIJX8OL0mk/+XIXyKm2g2GedfGCWTOHCIbqmSv5ZMpBnk2TEB1rbuXOSxFfZ543qguMUPfXS1M3rQD4ACgnTBsYK7KUz0zo9a3XV42SW3/xzfS42Wn1E7+mAMTz8= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=atomlin.com; spf=pass smtp.mailfrom=atomlin.com; arc=fail smtp.client-ip=52.101.96.82 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=atomlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=atomlin.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qSsGWlHd4PX39U9jNAC93aKQJVXzSbLGjh0yB5uWKClz9aGREOb/7GeU75U0udgBrgx9Ym01nsBEMdtcCNfp8859vynGqoBB3mH8mrVl3M8/O98HPnEI3XQ4b15h8Z1M+AUfUKLwBXwlJ3PpB1qUJlR9CMeoH7UTMALZFjMG9gbhtTu3txtNBXeoO+gy0HF5NSF2Efups2aQ9bvbItbaODYlYiMgYXie0U5cmZBkxe1mhpJ+eu8AGztHwQiy52nx/FsDJmAqhOCQvLxWmxAYD/t1ks2mZ+f7axBACg22d/tfifb9va6RmDt0PWfKoYRPfiOsg5Sgeh+7tM4EXxRckA== 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=abUfpemyLCjdDlwEPaz56SOVoCksXYCboVDcg1hWeHo=; b=KkzwiN5kcTpafzvxOfw3KF+OdHKvG+DNfISEXGgtfM8YdjToX7PZ2S58m9BqAbnwN6rvoZDuoebeLTZq3AZgoaIxklY5QfYBszkKCJtfnON90AHbqY2USXFZuGEHVQuh+HOl+57wT2jwbhZvG11riLyoY/c58pN75mGNN6WhV+8wPEloSagPYRxVoxYHtuoo0flJKTlBCYbQlfQclNqOOXx/XQD98CBsr365k47JSOlu+VnDErZaLveFgNU7ziuG3OWbY/dxfde/J+R59cisCiiHwKZsLhhGiPC8Z6AD3iXAJNytM4DGpWeeRasBtkS65yxyfEqWJMW95ytvzDgBWA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=atomlin.com; dmarc=pass action=none header.from=atomlin.com; dkim=pass header.d=atomlin.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=atomlin.com; Received: from CWLP123MB3523.GBRP123.PROD.OUTLOOK.COM (2603:10a6:400:70::10) by CWLP123MB6443.GBRP123.PROD.OUTLOOK.COM (2603:10a6:400:1d1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9478.5; Tue, 6 Jan 2026 03:42:18 +0000 Received: from CWLP123MB3523.GBRP123.PROD.OUTLOOK.COM ([fe80::de8e:2e4f:6c6:f3bf]) by CWLP123MB3523.GBRP123.PROD.OUTLOOK.COM ([fe80::de8e:2e4f:6c6:f3bf%5]) with mapi id 15.20.9478.005; Tue, 6 Jan 2026 03:42:16 +0000 From: Aaron Tomlin To: mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, vschneid@redhat.com Cc: neelx@suse.com, sean@ashe.io, mproche@gmail.com, linux-kernel@vger.kernel.org Subject: [RFC PATCH 0/1] sched/fair: Feature to suppress Fair Server for NOHZ_FULL isolation Date: Mon, 5 Jan 2026 22:42:07 -0500 Message-ID: <20260106034209.2703289-1-atomlin@atomlin.com> X-Mailer: git-send-email 2.51.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: BN9P222CA0004.NAMP222.PROD.OUTLOOK.COM (2603:10b6:408:10c::9) To CWLP123MB3523.GBRP123.PROD.OUTLOOK.COM (2603:10a6:400:70::10) 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: CWLP123MB3523:EE_|CWLP123MB6443:EE_ X-MS-Office365-Filtering-Correlation-Id: 0ff12426-a6f4-4ff0-cf65-08de4cd5960f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?OFxB1bKvFJJtWjz1bBuZ8z/Tp2IpwBPyJb9Lt62xLZi+I/Hcmdr1RJK0oLjS?= =?us-ascii?Q?gOFxwwH8HXyT+E9FEUlZzXrHPgsGzYjIi9F6sUDghWLXfJLedDddDh8GT0V8?= =?us-ascii?Q?n8BYMcEmg+stUVIjCXrnkVpxaf6O1wEkiQtgG16rzywpSPUXPmj53rD5DZgu?= =?us-ascii?Q?0h5jfRC73x1++21xPuwyuMCTyybmCkFi1JtJGVgb+mxh8HCwc9QGuf2sA33l?= =?us-ascii?Q?PB9jYIZfYlCIU9q455pRjNIQw+JUuKiHRptNEkyysMjhH2quN7KSnBI0wTWC?= =?us-ascii?Q?Mv4gFUEfPtT4efqOTuO9twvLCVpIrE5u8HFLRgTlvfKB0CENwC9Ng2jJBUkD?= =?us-ascii?Q?Uz/besVA3L9wWNUv5d8ZEXFmRKbGslfEmlHZtlrZmTNcZ98K03qLq5YuggAk?= =?us-ascii?Q?ZYeXDJU20VtQCxUM3+NWMDMY/Xj5Uevphl1O3MJqRnyD37DsHA7a72z8Sb9S?= =?us-ascii?Q?ZOM2FBwP2dwhsTPm+uk9svCEa+4CYZsLqjoF3QFA1MwI48obNVq7TeV87VyT?= =?us-ascii?Q?yhDryF7rfE2o1H5Vm5NH5mSSlSpMDpkwG58vyzQ3fGDgVil7T08K86RZf/Ql?= =?us-ascii?Q?9kfsmQ8O2ChYFa7f/t/vEqQBAdJfCscMC6Tnd7IG6aPx7HACUgun6nTEPq86?= =?us-ascii?Q?YlDAsD1uf+58R1HBQPeSqMTvkpy5cHzUVqe8prVEcvzEe972oLrKqmuh6QZ0?= =?us-ascii?Q?Wc/wfQibWzw6M2WEVl60gnZB+wKOcc+baFjjJs2/wGi6zA63BpqS3GfBeIbo?= =?us-ascii?Q?huA2tKuz3z9T8q8EVIrtl2OlYUnIcNbxvn1RCZba8ZL+/tOtBpFF7bIX7L1M?= =?us-ascii?Q?9X5Q9cQnZOKQ7dWUtwYRyfr3LoeXgM1Gy+nyNQFF16LGyqpCqMw3L4tM4uWz?= =?us-ascii?Q?Cn4Ad9/33m1u5iNScunFO4EhMDfw+jmy5H5c+0Wn5VnCDL8FhX+JAm9bISRD?= =?us-ascii?Q?7tIfC9XcAsvrd5iuSwWgCkhdF372NUSr/8Op9vp4v7PEBUo8q3Hiqo9SFHOf?= =?us-ascii?Q?oagXuexawoqAJgvntYQwi0DjcaKYIIfYfIBHr6sluZD2uweVbT9bXqSybZWB?= =?us-ascii?Q?fqZE7nzThCxf60P2qhGLDk9Bvu3SEJU+/emSll+cD9aVZL6C351SQOKM/lRM?= =?us-ascii?Q?/QNvWNpXYC6tUgiNv+G1vzbUVos4iJmWYnH+EzWUB2vuivbXe0O080S0ZHi3?= =?us-ascii?Q?L75zF4mtmFlvddYm1Rjg2vERvvOBthnh5nAm/cRSvQGASBhpqQLkpu7/5n8o?= =?us-ascii?Q?DblHaxGEAM0+1971+C7zR5MdQZrkhvco+K7IriJXnpQKbjDSzrh9Bv4vE62y?= =?us-ascii?Q?rrkcrsNnNHOl5sEDt/cTrUaBmrxjzhV7axCbFtrIRFK1Fga539VUNo6cTMa9?= =?us-ascii?Q?iB7Rbiti2pZoFQYvZwb2OPcvV/tjOUy4wrdEKvwwHtvnvm3RPSRELZ4Z7JlA?= =?us-ascii?Q?RXaeb4WUoNmPADzCXn6LZjgW2KpiCUYg?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CWLP123MB3523.GBRP123.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?6mu7dzccNs1TrbTP9lq6KLWWwcJQqH1Nc9uxb75WYvWBxnF5Pn3TfSxm8FDU?= =?us-ascii?Q?JzXtylPpEDNGnsAcD0t54ea2eyuKu8gOP+kiGsGIHZHN2TwDYo3c9cIzAqAb?= =?us-ascii?Q?HpOiUKcQR0eSPgKRFvgX+PXLiw66Uc5nAVUsRB1xA8QPq8+oZ6rIv48tSctk?= =?us-ascii?Q?nNnpNUFeK1dX1RHiOKP0Uxemu4uHaKH4UHLvGZYp0NprPZiN0JHBbGTWQxP0?= =?us-ascii?Q?5YAHD/GfhRF/PGqdoc5z/bseSEAD71kMmVJVwLPfhFxFSVXJmfhp9DUkO/h+?= =?us-ascii?Q?daPG0M6DRmOz7DysMlVrT0ZpAQAJ9i4guszhu0cF0qTX4VyN3fgn81SdbisN?= =?us-ascii?Q?bthk5VPuIY7p0hM0FE6piAmWvwMX91j3md1g/dz8cOAYv3QBE/T7Gs26L89D?= =?us-ascii?Q?rzUYlHeKW3Y8zUW1uuZwGUxzhj9vp/t9CZmzUjnidPBasDMwhE0bLJu7vKcB?= =?us-ascii?Q?h3MsYOrfhG4780g8tHUlu1YPBkcjoDPJ7QsuNrHX1kcp2xk4BQGwrfFDVxWz?= =?us-ascii?Q?fP1h72V/GmcNBbb48Zkg4EuEOI6h+Mr9z2atffPEdougxVfPRQlNo3T/XoRl?= =?us-ascii?Q?UyWbdidvnvj3Iaaw8b9IiQVR77KP28CLvsu5t5cf4q407TNuuiD3T555+Eyf?= =?us-ascii?Q?72dACE9LCd86cS1IywOTPEsbhF52rxVvqSO9qDyS4kU2GFaOCTD9FONih8MJ?= =?us-ascii?Q?UCdzps9P6Y0v0b1+UtBspVi15l3HVKSzB02g5+D3kHydHFAVoZ6SRafMtG8A?= =?us-ascii?Q?XfLeGzRL0VFOfJh61J0XS9NpaV7OorjhADSC2rdl9uV5w+jnRx1ilCJmNHV/?= =?us-ascii?Q?m73uNyegdQJZUcaB/ruIBQ0xihsVBVPq7k/UqKGSn8k8ieMkdeFsCRTqC1ze?= =?us-ascii?Q?BLoR/hFx+Q5V2Q8Fj5sWOVOOvQxGke0cxklaZiYIl/Y3VamvcMOicGtmsUFE?= =?us-ascii?Q?7ujswMM2o92lHoRllqbviZ1WHQqhRvAGDZrg+/iZBq3/ZPo4urCs0LM+MYVH?= =?us-ascii?Q?FJlCulhMq27e52ai0qAJcuMqxmXmWEkFF7eNBI2eFSYozqEHYDIipQ6dD7CF?= =?us-ascii?Q?BYBY4tbiYLnBBE+Su05ypkZoIBpe9qhq1fcLAHPbgQKxcLRRSHHhe2MPTbOH?= =?us-ascii?Q?hT6xJ3zrSl5BzBsmRRKo5Ttheaf5a+RE8ZbfR5PosLhkwsbHetnRQ3HikbF9?= =?us-ascii?Q?BXzvwksHSph5eeILxi8K8LsP8O5NEsE/WeW+YIQ40VpZsZ3bMU+0PXTNrned?= =?us-ascii?Q?KK3fIoZJ6Lh01s+hUbRBKXjzDRFPfXYUcgccl5we89YHzf42yQBzeHetfhZO?= =?us-ascii?Q?ykUMNX02foLEsXPzM86FBjkyUvLIjWHFwbF+OB+IexqNKkWe5o75I5P8Pe4k?= =?us-ascii?Q?/YZFXALpXOiHdLRN2Xj8cCrFVMRL9+23g8frlEBFHDRSufFCpgHfs/oOdyeB?= =?us-ascii?Q?xsxNRwEq8XvChjeAI9mySW7o1Zjv+s6LLigOl1j9VtPx2lTnyhnWzvsO1x/J?= =?us-ascii?Q?HOlgQcNqA5/9+K16Mh1nrVJdhXSErfRXr1cB9Z2F/ajLWpiVx4vk8PZDv4H4?= =?us-ascii?Q?GxtGvNHaHmrdY6R9s/R5EujpZCMiFE67V1Q++M4fzgEJnOhuACpgLENzedoE?= =?us-ascii?Q?OuppC6c2MjMe1IqBY7axzvl2EP25pl95kF4jCTPk6uI/5C3Uceo3CS9NbDEd?= =?us-ascii?Q?xsfewm14hEHuqLTitx2jK6wRYCjAG1DeR/qDsbD6pNZLydqYQvxbqjyElDeU?= =?us-ascii?Q?jxpQHIKfcg=3D=3D?= X-OriginatorOrg: atomlin.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0ff12426-a6f4-4ff0-cf65-08de4cd5960f X-MS-Exchange-CrossTenant-AuthSource: CWLP123MB3523.GBRP123.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2026 03:42:16.4757 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e6a32402-7d7b-4830-9a2b-76945bbbcb57 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: kAAj41b/F8wqn0OXkb9OALopkZT+uvUybw8KrVshLdZjUdynnaDN8QWQge9PMOFOZbJjXYMQPScL9qL9Fgo1iw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CWLP123MB6443 Hi Ingo, Peter, Juri, Vincent, This patch introduces a new scheduler feature, RT_SUPPRESS_FAIR_SERVER, designed to ensure strict NOHZ_FULL isolation for SCHED_FIFO workloads, particularly in the presence of resident CFS tasks. In strictly partitioned, latency-critical environments (such as High Frequency Trading platforms) administrators frequently employ fully adaptive-tick CPUs to execute pinned SCHED_FIFO workloads. The fundamental requirement is "zero OS noise"; specifically, the scheduler clock-tick must remain suppressed ("offloaded"), given that standard SCHED_FIFO semantics dictate no forced preemption between tasks of identical priority. However, the extant "Fair Server" (Deadline Server) architecture compromises this isolation guarantee. At present, should a background SCHED_OTHER task be enqueued, the scheduler initiates the Fair Server (dl_server_start). As the Fair Server functions as a SCHED_DEADLINE entity, its activation increments rq->dl.dl_nr_running. This condition compels sched_can_stop_tick() to return false, thereby restarting the periodic tick to enforce the server's runtime. To address this, the patch introduces a new scheduler feature control, RT_SUPPRESS_FAIR_SERVER. When engaged, this modification amends enqueue_task_fair() to forego the invocation of dl_server_start() if, and only if, the following conditions are met: 1. A Real-Time task (SCHED_FIFO/SCHED_RR) is currently in execution 2. RT bandwidth enforcement (rt_bandwidth_enabled()) is inactive By precluding the server's initiation, rq->dl.dl_nr_running is maintained at zero. This permits the tick logic to defer to the standard SCHED_FIFO protocol, thereby ensuring the tick remains suppressed. Considerations: This serves as a precision instrument for specialised contexts. It explicitly prioritises determinism over fairness. Whilst enabled, queued CFS tasks shall endure total starvation until such time as the RT task voluntarily yields. I believe this is acceptable for partitioned architectures where housekeeping duties are allocated to alternative cores; however, I have guarded this capability within CONFIG_NO_HZ_FULL and a default-disabled feature flag to obviate the risk of inadvertent starvation on general-purpose systems. I welcome your thoughts on this approach. Aaron Tomlin (1): sched/fair: Introduce RT_SUPPRESS_FAIR_SERVER to optimise NOHZ_FULL isolation kernel/sched/fair.c | 19 ++++++++++++++++++- kernel/sched/features.h | 9 +++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) -- 2.51.0