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

From: Ben Horgan

Date: Wed May 06 2026 - 04:30:02 EST


When 0 is written to the tasks file it is interpreted as the current task
in rdtgroup_move_task(). Each CPU's idle task has task_struct::pid set to 0
and, on x86, task_struct::closid to RESCTRL_RESERVED_CLOSID and
task_struct::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/cpus_list 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@xxxxxxx>
Reviewed-by: Reinette Chatre <reinette.chatre@xxxxxxxxx>
---
I have confirmed this experimentally on an MPAM platform.

Changes since v4:
Clean up the commit message (Reinette)

Changes since v5:
Add Reinette's R-b
---
Documentation/filesystems/resctrl.rst | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/Documentation/filesystems/resctrl.rst b/Documentation/filesystems/resctrl.rst
index b388e9193896..e4b66af55ffb 100644
--- a/Documentation/filesystems/resctrl.rst
+++ b/Documentation/filesystems/resctrl.rst
@@ -575,6 +575,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