From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dl1-f46.google.com (mail-dl1-f46.google.com [74.125.82.46]) (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 F40D7394793 for ; Mon, 13 Apr 2026 07:43:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.46 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776066209; cv=none; b=FMT/nXBYlw0n58Pjz5KoRLPJ5145VZrDL0pOQs+pgVk8IVHLujPoVcCMXVbAuBelaN4+/3OQGzqWDbFFQw2D6YqGmFT8tCNNpUvZwkHrD9sARGa1EwCi+iVLUfDLemXLtw6OVf1qXYrLeFRBbWoB2RTN8TWxW09ngleJ0HI+Lis= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776066209; c=relaxed/simple; bh=M5UhHgIw8MLkGuym5witH6XqQ7eGPHPU7XznpRaYlqQ=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=GdB5ZKwp7JUDNgqlHnTngr/kbq6/fAXAvccVJHqcZ7Sbn2TArV7Mk81pzzm0BriyGiybiv/EuFoYKO6w1FnaeOd2RZYOpoAZikQ0JISyp60F1UuvgR6JIEJGEESbIJvMoB1QqXLnF5A3SVFrRW8Vihe5v+xMaQPHIY+GTslOaGI= 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=GQZF7gAD; arc=none smtp.client-ip=74.125.82.46 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="GQZF7gAD" Received: by mail-dl1-f46.google.com with SMTP id a92af1059eb24-12c1a170a50so3666672c88.0 for ; Mon, 13 Apr 2026 00:43:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776066204; x=1776671004; darn=vger.kernel.org; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=fnm3rAs1EW1zXW14+7Lf/lvhAiqaue6tqPNOeQwzzLE=; b=GQZF7gADbgn9/hvhy+AYZdiCmjHHF4EqLsAsDYNAHa2y+Z7mnqEm/vZWEnOEtJ1CcQ yNhLr+JH2PhsNVuoOiRdxOFK1WYkrFx501v55adf0cfiSp9/WmwqP3jV8FhBpYt/7VLl o9EpEy1giuDsusMwzN1d/LfMxPOjvftL+Co/DjkLlt01aLVJlKgHxWh1Ve63x059L2ZI VDSMDr6F23TdDDf04pnNfQ0NZX5X8SHB2G5h/SPXQB7APtyJX2200Yc5h3BoXz5/1mZL OWv4XpecevyFDFekMsfyZLZCT8RQIfBN8wOU7St4RMGDDZango3VJoXWGsRb5ma0E5+N rlZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776066204; x=1776671004; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=fnm3rAs1EW1zXW14+7Lf/lvhAiqaue6tqPNOeQwzzLE=; b=ddFx0Ykfy7roBZIEXiV1bgl/gW+gDJz9VgGtucYy7k29nA7cChSjF7RM5TGGdLamNn D61yxDkOFGesq4n6a+lIFrEPIhYTWfVIYwhhlPG/F58DMhvW4wCpGlFkf3JOFmTztMd7 P+n+7E99izRgRR/Mipdpv1yd/0/fRyo+8p79kpf9oZwjSAY47tXuLCOg2q9wsjW3zokT E6GVEb7CiU+UY+nEXXdcIYqTFkYE66VKijfKPHdMIzl5qAPalP+QTfiaVzRC51ahvFrp nCXhikVQIj6Niprs6XDVZL5A8vdeUrjzF+AF/cGlq14H6CfedqC7tlJ9r9cKwqHLHnsk LTmg== X-Forwarded-Encrypted: i=1; AFNElJ+jgAaM/G+zkr661301t+2XuolyCUBIBq9q5/32jZPX9RkKtGsXtp2AB0/w/pKMR7Iums2X0MI6ckyXb3KoJGc=@vger.kernel.org X-Gm-Message-State: AOJu0Yzhpb3GgrybZ4B1h/Y5C3p0RUGhPO4cK5Qt6ZB20aUjlZ1misd/ 4SUh1NdgH4iD0kXNfsneKF3lzT7auo4H6yTzK+sYyKmEFA6yV6H6dXNB X-Gm-Gg: AeBDievA2pYr0RoKNZW7lF0EZiZ/SMc3eYibd8ABJkgDaksK+EneDrhg3UOwekm1FDk iiYgHvbFcUbgjFyyFulCetOkl2tAKF+WDUxLpM8lPliV6vIj2aA+eR8EVpXwny9wYnJUbRgCNme UbjAQ7jP+LOmGq6gUI4VlSCmrSYDILZ/RMakOOge4O0I/9UOpBHziHx3DzON3FG0XaL1RzXZkh8 di8oBb5fL94xmDI+hNweO5POjPNTZS8LtB9YOiQl3auuYfTbUJ33cefEczx5QpHPVtCvqliqm2H m77gRPoOHt0IHdTnXq5BigtzfujPahc7vhRNT4MMfSYS4P0+fLNnu6BMfZRTXqIMZ3uUS037fjt AG9zcfrDyZwn2Hs8zqdKZRPHLwVISh/LNXBvHH0To114wnQFtwrveBQyZ/6P4mZ4ICXgf+EYuIe YVYF4VeQnXPRYAx+wQ X-Received: by 2002:a05:7022:ec1:b0:128:ca83:5aa1 with SMTP id a92af1059eb24-12c34ea25e4mr7053217c88.16.1776066204042; Mon, 13 Apr 2026 00:43:24 -0700 (PDT) Received: from wujing. ([74.48.213.230]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-12c347fa2c9sm12884610c88.15.2026.04.13.00.43.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Apr 2026 00:43:23 -0700 (PDT) From: Qiliang Yuan Subject: [PATCH v2 00/12] Dynamic Housekeeping Management (DHM) via CPUSets Date: Mon, 13 Apr 2026 15:43:06 +0800 Message-Id: <20260413-wujing-dhm-v2-0-06df21caba5d@gmail.com> Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-B4-Tracking: v=1; b=H4sIAIqe3GkC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyjHQUlJIzE vPSU3UzU4B8JSMDIzMDEwML3fLSrMy8dN2UjFxdizQT41SjFBPL5BQLJaCGgqLUtMwKsGHRsbW 1AC3kgphcAAAA To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , "Paul E. McKenney" , Frederic Weisbecker , Neeraj Upadhyay , Joel Fernandes , Josh Triplett , Boqun Feng , Uladzislau Rezki , Mathieu Desnoyers , Lai Jiangshan , Zqiang , Anna-Maria Behnsen , Ingo Molnar , Thomas Gleixner , Tejun Heo , Andrew Morton , Vlastimil Babka , Suren Baghdasaryan , Michal Hocko , Brendan Jackman , Johannes Weiner , Zi Yan , Waiman Long , Chen Ridong , =?utf-8?q?Michal_Koutn=C3=BD?= , Jonathan Corbet , Shuah Khan , Shuah Khan Cc: linux-kernel@vger.kernel.org, rcu@vger.kernel.org, linux-mm@kvack.org, cgroups@vger.kernel.org, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Qiliang Yuan X-Mailer: b4 0.13.0 This series introduces Dynamic Housekeeping Management (DHM) to the Linux kernel. Previously known as the DHEI (Dynamic Housekeeping Environment Interface) patchset (RFC and v1), this series has been fundamentally refactored in response to upstream feedback. The custom sysfs interface has been entirely dropped. Instead, DHM is now natively integrated into the cgroup v2 cpuset controller. By exposing `cpuset.housekeeping.cpus` on the root cgroup, system administrators and workload orchestrators (like Kubernetes) can dynamically update the kernel's global housekeeping masks at runtime, without requiring a node reboot. This version provides dynamic reconfiguration support for the following subsystems: - RCU (NOCB offloading) - Tick/NOHZ (Full dynticks) - Global Workqueues and Timers - Managed Interrupts (genirq) - Hardlockup Detectors (Watchdog) - Scheduler Domains (Isolation) - Memory Management (vmstat/lru_add_drain) - Kthreads and Softirqs (Affinity) Many thanks to the maintainers for the valuable guidance that led to this significantly improved and upstream-aligned architecture. To: Ingo Molnar To: Peter Zijlstra To: Juri Lelli To: Vincent Guittot To: Dietmar Eggemann To: Steven Rostedt To: Ben Segall To: Mel Gorman To: Valentin Schneider To: Paul E. McKenney To: Frederic Weisbecker To: Neeraj Upadhyay To: Joel Fernandes To: Josh Triplett To: Boqun Feng To: Uladzislau Rezki To: Mathieu Desnoyers To: Lai Jiangshan To: Zqiang To: Anna-Maria Behnsen To: Ingo Molnar To: Thomas Gleixner To: Tejun Heo To: Andrew Morton To: Vlastimil Babka To: Suren Baghdasaryan To: Michal Hocko To: Brendan Jackman To: Johannes Weiner To: Zi Yan To: Waiman Long To: Chen Ridong To: Michal Koutný To: Jonathan Corbet To: Shuah Khan To: Shuah Khan Cc: linux-kernel@vger.kernel.org Cc: rcu@vger.kernel.org Cc: linux-mm@kvack.org Cc: cgroups@vger.kernel.org Cc: linux-doc@vger.kernel.org Cc: linux-kselftest@vger.kernel.org Changes in v2: - Rebranded series from DHEI to DHM (Dynamic Housekeeping Management). - Entirely dropped custom sysfs interface. - Integrated housekeeping control into cgroup v2 cpuset controller at the root level. - Added SMT-aware pipeline logic (cpuset.housekeeping.smt_aware) to prevent splitting SMT siblings. - Added comprehensive documentation and cgroup functional selftests for the DHM APIs. - Refactored the internal mask transition logic to use RCU-safe handover. - Separated patch series into 4 logical phases for review. v1 Link: https://lore.kernel.org/all/20260325-dhei-v12-final-v1-0-919cca23cadf@gmail.com Signed-off-by: Qiliang Yuan --- Qiliang Yuan (12): sched/isolation: Separate housekeeping types in enum hk_type sched/isolation: Introduce housekeeping notifier infrastructure rcu: Support runtime NOCB initialization and dynamic offloading tick/nohz: Transition to dynamic full dynticks state management genirq: Support dynamic migration for managed interrupts watchdog: Allow runtime toggle of lockup detector affinity sched/core: Dynamically update scheduler domain housekeeping mask workqueue, mm: Support dynamic housekeeping mask updates cgroup/cpuset: Introduce CPUSet-driven dynamic housekeeping (DHM) cgroup/cpuset: Implement SMT-aware grouping and safety guards Documentation: cgroup-v2: Document dynamic housekeeping (DHM) selftests: cgroup: Add functional tests for dynamic housekeeping Documentation/admin-guide/cgroup-v2.rst | 24 +++++ include/linux/sched/isolation.h | 51 ++++++++--- kernel/cgroup/cpuset-internal.h | 2 + kernel/cgroup/cpuset.c | 73 +++++++++++++++ kernel/irq/manage.c | 49 ++++++++++ kernel/rcu/rcu.h | 4 + kernel/rcu/tree.c | 75 ++++++++++++++++ kernel/rcu/tree.h | 2 +- kernel/rcu/tree_nocb.h | 31 ++++--- kernel/sched/core.c | 23 +++++ kernel/sched/isolation.c | 74 ++++++++++++++- kernel/time/tick-sched.c | 130 +++++++++++++++++++++------ kernel/watchdog.c | 26 ++++++ kernel/workqueue.c | 42 +++++++++ mm/compaction.c | 27 ++++++ tools/testing/selftests/cgroup/test_cpuset.c | 36 ++++++++ 16 files changed, 620 insertions(+), 49 deletions(-) --- base-commit: bfe62a454542cfad3379f6ef5680b125f41e20f4 change-id: 20260408-wujing-dhm-8f43e2d49cd8 Best regards, -- Qiliang Yuan