[PATCH 0/6] Backport rework of deadline bandwidth restoration for 5.15.y

Qais Yousef posted 6 patches 2 years, 3 months ago
Only 5 patches received!
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(-)
[PATCH 0/6] Backport rework of deadline bandwidth restoration for 5.15.y
Posted by Qais Yousef 2 years, 3 months ago
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(-)

-- 
2.34.1