Re: [PATCH] cpuset: Fix multi-source deadline task accounting and bandwidth bypass
From: Aaron Tomlin
Date: Wed May 13 2026 - 19:40:48 EST
On Wed, May 13, 2026 at 07:19:18PM -0400, Waiman Long wrote:
> Multiple source or destination cpusets in task migration can only happens
> when the cpuset controller is enabled or disabled in a cgroup subtree. If
> there are DL tasks in 2 or more child cgroups, enabling or disabling of the
> cpuset controller for those child cgroups may lead to incorrect DL task
> accounting. This patch will probably fix the DL accounting aspect. However,
> there are also other issues unrelated to DL tasks that need to be addressed
> as well. So this patch is incomplete in this regard. I am working on a patch
> series to address these issues. Hopefully I can send it out in a day or 2.
>
Hi Longman,
Acknowledged.
Also, the Sashiko AI review reported: "TOCTOU race on dl_task(task) during
rollback causes state corruption."
A concurrent sched_setscheduler() could alter the scheduling class of a
task between the initial pass and a rollback. This assertion seems valid to
me. Currently, neither cgroup_mutex or cpuset_mutex prevents scheduling
class changes.
Should I let you handle this too?
Kind regards,
--
Aaron Tomlin
Attachment:
signature.asc
Description: PGP signature