]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
sched/mmcid: Drop per CPU CID immediately when switching to per task mode
authorThomas Gleixner <tglx@kernel.org>
Mon, 2 Feb 2026 09:39:50 +0000 (10:39 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 4 Feb 2026 11:21:12 +0000 (12:21 +0100)
commit007d84287c7466ca68a5809b616338214dc5b77b
treedcabaa066888e11ae0f61793b1e6ee6b9f4e02fd
parent47ee94efccf6732e4ef1a815c451aacaf1464757
sched/mmcid: Drop per CPU CID immediately when switching to per task mode

When a exiting task initiates the switch from per CPU back to per task
mode, it has already dropped its CID and marked itself inactive. But a
leftover from an earlier iteration of the rework then reassigns the per
CPU CID to the exiting task with the transition bit set.

That's wrong as the task is already marked CID inactive, which means it is
inconsistent state. It's harmless because the CID is marked in transit and
therefore dropped back into the pool when the exiting task schedules out
either through preemption or the final schedule().

Simply drop the per CPU CID when the exiting task triggered the transition.

Fixes: fbd0e71dc370 ("sched/mmcid: Provide CID ownership mode fixup functions")
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Link: https://patch.msgid.link/20260201192835.032221009@kernel.org
kernel/sched/core.c