Commit 78f4244d authored by Dietmar Eggemann's avatar Dietmar Eggemann Committed by Greg Kroah-Hartman
Browse files

BACKPORT: cgroup/cpuset: Free DL BW in case can_attach() fails



cpuset_can_attach() can fail. Postpone DL BW allocation until all tasks
have been checked. DL BW is not allocated per-task but as a sum over
all DL tasks migrating.

If multiple controllers are attached to the cgroup next to the cpuset
controller a non-cpuset can_attach() can fail. In this case free DL BW
in cpuset_cancel_attach().

Finally, update cpuset DL task count (nr_deadline_tasks) only in
cpuset_attach().

Bug: 238390134
Suggested-by: default avatarWaiman Long <longman@redhat.com>
Signed-off-by: default avatarDietmar Eggemann <dietmar.eggemann@arm.com>
Signed-off-by: default avatarJuri Lelli <juri.lelli@redhat.com>
Reviewed-by: default avatarWaiman Long <longman@redhat.com>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
(cherry picked from commit 2ef269ef
https://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git

 cgroup/for-6.5)
[Conflict where we try to pull extra new code that is not applicable for
5.15, reject the new code]
Signed-off-by: default avatarQais Yousef <qyousef@google.com>
Change-Id: I54944463706cfb91cd441f003d54f78539d15316
parent 72c81004
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment