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