From nobody Thu Apr 2 06:32:29 2026 Received: from mail-dl1-f53.google.com (mail-dl1-f53.google.com [74.125.82.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CD64C350A1B for ; Wed, 25 Mar 2026 09:11:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774429877; cv=none; b=KuWFUiy5tUhg8Qw9c8bx/8dqr3BUs+DhFODlMMUHZpBIWNYpYko6emITAn3t6HvC/XCBdVkQD4FFL31480M/5Ry+Pkx23g5VXn5nxT37SH8t/WCe//Pgv0nuDcxwbcfE5FRhhwxO1XffG1Pv5zp12CAFLyEk99auuo60ygOEEC4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774429877; c=relaxed/simple; bh=gZDjuCZnZUWwu0Zvd8wZfxxZBNGQo3l8lZvSZ9PYvBk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=eTSC4BlqRVsaUPd9rwLXopcPDPeVCvecsebuantf59M+RsPXc9nFemCBZy+PhhSQAgqstdj6mkVcvczLtqXlargeZ/qTc1y8tLo3WK/Rp+Gd8efVso8tW/cAKcUAXU3iNWE3DxfWe5CDpkXHb9wNfHHOS965WpGp3/1CtJBDpWE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=YS6wXGAe; arc=none smtp.client-ip=74.125.82.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="YS6wXGAe" Received: by mail-dl1-f53.google.com with SMTP id a92af1059eb24-12a74039dc6so1888802c88.0 for ; Wed, 25 Mar 2026 02:11:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774429875; x=1775034675; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=k0s0Dc7RCL/9ENJthFTImT096lJg25UlEll25yQMqG8=; b=YS6wXGAeUCdowzmn1QQHtFt16IIsunO8ysj5qyDG0CR23UlWvl20zgPkD0aVqtSV1m P4zMvumNcGtlF9uoyQJE/hiFm6a5YThL7PiF3Zs87Uk4kFShVXXt0FCLCrSn4IcCWlcQ g92yaK+yF1Gadha25N9KkgmMyByHUu3XOGls5ePm7d9QIrMV9QfAS3A/kutgnrHll1tj SawMSm9DYRDajIe1/FAKEKWq2A0BuEbYiltbtFajcuJcClB6hWum2dw2UQIHds5MRZTO LLxI+xalRaGqTiXwJ/Yiolagwk5oMbZW+DWzXEJqhc3JLlQu1LNzWwUg+dvaSQswPeaL dvMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774429875; x=1775034675; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=k0s0Dc7RCL/9ENJthFTImT096lJg25UlEll25yQMqG8=; b=RGuNL1e/xMKVFtqo9+wtHgyLShIgsBd/fHGKQoEj4WcrwsirRvhpbRUg5pf59YpkGL 3ppBRUidCX+zNNHYh8ADMrXTX45AJJvkUa2K2T598RVGUgnkyoZrm9XMUnQaQcYwXBMu iTv5q6vKvqfTTcWVhQa1EgDCI8EN5U+EYHw6FxOOFFQtSWLMBunY6RLec3jkrC9kxiuk 6GnF0nWjQ4II7aF9uw0bouis6CF+6qp28t5fylTR8xikhYTfv48MPXUzUSlh6uVDymds xMjdHFQKjFOAiprsBZ9N7wjNIk8RqjzYbppSV1+xdlh6tVEnzxK+/MdmQKvjkG8L8oo/ VGGQ== X-Gm-Message-State: AOJu0YzdvasZIBid45YHDGBM0PXD8v5oBpdKwsu7xlwGYJfAD+yM7s3P EIKRiVH3ataXUAfTo5r+o7csx1Kd+KXeIsjzalKqp4R/hpi9egDdjjYP X-Gm-Gg: ATEYQzzFw0A7l8mY8xdecW5H3UtHpCOb6z90Ftc0uGRxi0R1dONCHQ/zqNjzt+Q7rYr ElLMeuQ3qYvxUhcmVpuG0es1sOYpD0raB8NsODDvEwt6T12pfthHrTfI2p0XyPYrj9lmUr6WbTl SI5itDUFxThRg1s4tECfspfL6gZM4oPJV63qVjjaNTVqyp9KzYVVMASDnreGv1qiKSnvzwCvMVi EHOkxp4FN/8zonrxr+KwNxZrtPUB5pFoi5Ww5jG6m4D6TIYOtI156wOgTabmDW3jz5d1HpdYuWQ HaEuvpwRs5LBdQ7ebLaQxBtx3fI5ta3b8rHwgJKhA9r5eRURngMtOprkS3tH2kfZaTz8WrnA2Bf 8eQVOtAubcXdeif+fdKUDsMQOUOXsrH7Rc/U1A+JTvO3FMed7ImjGVhoZNBpPeJGvYO/ON6jyJ6 sl10Yih8SUJZMdkijY X-Received: by 2002:a05:7301:9f13:b0:2be:1946:857e with SMTP id 5a478bee46e88-2c15d35c829mr1429438eec.12.1774429874937; Wed, 25 Mar 2026 02:11:14 -0700 (PDT) Received: from wujing. ([74.48.213.230]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2c159e25dc7sm2786389eec.27.2026.03.25.02.11.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Mar 2026 02:11:14 -0700 (PDT) From: Qiliang Yuan Date: Wed, 25 Mar 2026 17:09:43 +0800 Subject: [PATCH 12/15] sched/isolation: Bridge boot-time parameters with dynamic isolation Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260325-dhei-v12-final-v1-12-919cca23cadf@gmail.com> References: <20260325-dhei-v12-final-v1-0-919cca23cadf@gmail.com> In-Reply-To: <20260325-dhei-v12-final-v1-0-919cca23cadf@gmail.com> To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , Thomas Gleixner , "Paul E. McKenney" , Frederic Weisbecker , Neeraj Upadhyay , Joel Fernandes , Josh Triplett , Boqun Feng , Uladzislau Rezki , Mathieu Desnoyers , Lai Jiangshan , Zqiang , Tejun Heo , Andrew Morton , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , Brendan Jackman , Johannes Weiner , Zi Yan , Anna-Maria Behnsen , Ingo Molnar , Shuah Khan Cc: linux-kernel@vger.kernel.org, rcu@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, Qiliang Yuan X-Mailer: b4 0.13.0 The boot-time parameters 'isolcpus' and 'nohz_full' currently initialize housekeeping masks that cannot be easily updated at runtime. To support DHEI, the scheduler's tick offload infrastructure must be ready for dynamic enablement even if no isolation was requested at boot. Enable unconditional boot-time initialization for tick offload. This ensures that the infrastructure for remote ticks is always present, allowing DHEI to safely toggle full dynticks mode at runtime. Signed-off-by: Qiliang Yuan --- kernel/sched/core.c | 5 +++++ kernel/sched/isolation.c | 3 --- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index ddf9951f1438c..d987ce03e7cc6 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -5688,6 +5688,9 @@ static void sched_tick_stop(int cpu) =20 int __init sched_tick_offload_init(void) { + if (tick_work_cpu) + return 0; + tick_work_cpu =3D alloc_percpu(struct tick_work); BUG_ON(!tick_work_cpu); return 0; @@ -8509,6 +8512,8 @@ void __init sched_init_smp(void) current->flags &=3D ~PF_NO_SETAFFINITY; sched_init_granularity(); =20 + sched_tick_offload_init(); + init_sched_rt_class(); init_sched_dl_class(); =20 diff --git a/kernel/sched/isolation.c b/kernel/sched/isolation.c index 4a5967837e8de..685cc0df1bd9f 100644 --- a/kernel/sched/isolation.c +++ b/kernel/sched/isolation.c @@ -299,9 +299,6 @@ void __init housekeeping_init(void) =20 static_branch_enable(&housekeeping_overridden); =20 - if (housekeeping.flags & HK_FLAG_KERNEL_NOISE) - sched_tick_offload_init(); - for_each_set_bit(type, &housekeeping.flags, HK_TYPE_MAX) { /* We need at least one CPU to handle housekeeping work */ WARN_ON_ONCE(cpumask_empty(housekeeping.cpumasks[type])); --=20 2.43.0