This is a backport of the series that fixes the way deadline bandwidth restoration is done which is causing noticeable delay on resume path. It also converts the cpuset lock back into a mutex which some users on Android too. I lack the details but AFAIU the read/write semaphore was slower on high contention.
Compile tested against some randconfig for different archs and tested against android14-5.15 GKI kernel, which already contains a version of this backport.
My testing is limited to resume path only; and general phone usage to make sure nothing falls apart. Would be good to have some deadline specific testing done too.
Based on v5.15.127
Original series:
https://lore.kernel.org/lkml/20230508075854.17215-1-juri.lelli@redhat.com/
Thanks!
-- Qais Yousef
Dietmar Eggemann (2): sched/deadline: Create DL BW alloc, free & check overflow interface cgroup/cpuset: Free DL BW in case can_attach() fails
Juri Lelli (4): cgroup/cpuset: Rename functions dealing with DEADLINE accounting sched/cpuset: Bring back cpuset_mutex sched/cpuset: Keep track of SCHED_DEADLINE task in cpusets cgroup/cpuset: Iterate only if DEADLINE tasks are present
include/linux/cpuset.h | 12 ++- include/linux/sched.h | 4 +- kernel/cgroup/cgroup.c | 4 + kernel/cgroup/cpuset.c | 232 ++++++++++++++++++++++++++-------------- kernel/sched/core.c | 41 ++++--- kernel/sched/deadline.c | 66 +++++++++--- kernel/sched/sched.h | 2 +- 7 files changed, 238 insertions(+), 123 deletions(-)