[PATCH v2 11/12] Documentation: cgroup-v2: Document dynamic housekeeping (DHM)

Qiliang Yuan
2026-04-13T07:45:26Z

Update the admin-guide for cgroup-v2 to explicitly document the newly introduced
cpuset.housekeeping.cpus and cpuset.housekeeping.smt_aware files.

The documentation explains the use of the DHM framework for reconfiguring
kernel subsystem isolation masks natively through the root cpuset without
incurring system reboots, and describes the functional restrictions of
SMT grouping safety constraints.

Signed-off-by: Qiliang Yuan <realwujing@gmail.com>
---
Documentation/admin-guide/cgroup-v2.rst | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst
index 91beaa6798ce0..deb644b88509f 100644
--- a/Documentation/admin-guide/cgroup-v2.rst
+++ b/Documentation/admin-guide/cgroup-v2.rst
@@ -2592,6 +2592,30 @@ Cpuset Interface Files
isolated partitions. It will be empty if no isolated partition
is created.

+ cpuset.housekeeping.cpus
+ A read-write multiple values file that exists only on the root cgroup.
+
+ This file is part of the Dynamic Housekeeping Management (DHM)
+ framework. It allows dynamic reconfiguration of the global
+ kernel housekeeping CPU mask without a system reboot.
+
+ By writing a mask of CPUs (e.g. "0-3,8"), DHM will update all internal
+ housekeeping subsystem masks (scheduler domains, RCU NOCB, tick offload,
+ timers, unbound workqueues, and managed IRQs) in real time.
+
+ The new mask must have at least one online CPU. The value stays constant
+ until changed or affected by CPU hot-unplug.
+
+ cpuset.housekeeping.smt_aware
+ A read-write single value file that exists only on the root cgroup.
+ It accepts "0" or "1". The default value is "0" (false).
+
+ This file enables the SMT-aware pipeline logic for DHM. When enabled (1),
+ any update to "cpuset.housekeeping.cpus" is strictly validated to ensure
+ Hardware Threads (SMT siblings) are kept together. If an SMT sibling pair
+ is split across the housekeeping boundary, the mask update is rejected
+ with an error to avoid severe cache and pipeline contention penalties.
+
cpuset.cpus.partition
A read-write single value file which exists on non-root
cpuset-enabled cgroups. This flag is owned by the parent cgroup

--
2.43.0