[PATCH v4 7/7] fs/resctrl: Document tasks file behaviour for task id 0 and idle tasks

Ben Horgan
2026-03-26T17:26:16Z

When 0 is written to the tasks file it is interpreted as the current task
in rdtgroup_move_task(). The task_struct for each CPUs idle task has pid
set to 0 and, on x86, the closid to RESCTRL_RESERVED_CLOSID and rmid to
RESCTRL_RESERVED_RMID. Equivalently, on MPAM platforms,
thread_info->mpam_partid_pmg is encoded with PARTID and PMG set to
RESCTRL_RESERVED_CLOSID and RESCTRL_RESERVED_RMID, respectively. As there
is no interface to change these from the default, the resctrl configuration
for the idle tasks is fixed and they always behave equivalently to a task
in the default tasks file and so take their configuration from the cpus
files.

On read of the tasks file, show_rdt_tasks() filters out any 0 pid. Hence,
a task id of 0 is never shown in the tasks file and the idle tasks are
not represented either.

Document the user visible behaviour.

Signed-off-by: Ben Horgan <ben.horgan@arm.com>
---
I have confirmed this experimentally on an MPAM platform.
---
Documentation/filesystems/resctrl.rst | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/Documentation/filesystems/resctrl.rst b/Documentation/filesystems/resctrl.rst
index 68cada238844..3ec6b3b1b603 100644
--- a/Documentation/filesystems/resctrl.rst
+++ b/Documentation/filesystems/resctrl.rst
@@ -568,6 +568,11 @@ All groups contain the following files:
then the task must already belong to the CTRL_MON parent of this
group. The task is removed from any previous MON group.

+ When writing to this file, a task id of 0 is interpreted as the
+ task id of the currently running task. On reading the file, a task
+ id of 0 will never be shown and there is no representation of the
+ idle tasks. Instead, a CPU's idle task is always considered as a
+ member of the group owning the CPU.

"cpus":
Reading this file shows a bitmask of the logical CPUs owned by
--
2.43.0