kernel-fxtec-pro1x/kernel/sched
Suren Baghdasaryan f7c2472acb BACKPORT: cgroup: make per-cgroup pressure stall tracking configurable
PSI accounts stalls for each cgroup separately and aggregates it at each
level of the hierarchy. This causes additional overhead with psi_avgs_work
being called for each cgroup in the hierarchy. psi_avgs_work has been
highly optimized, however on systems with large number of cgroups the
overhead becomes noticeable.
Systems which use PSI only at the system level could avoid this overhead
if PSI can be configured to skip per-cgroup stall accounting.
Add "cgroup_disable=pressure" kernel command-line option to allow
requesting system-wide only pressure stall accounting. When set, it
keeps system-wide accounting under /proc/pressure/ but skips accounting
for individual cgroups and does not expose PSI nodes in cgroup hierarchy.

Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Tejun Heo <tj@kernel.org>
Link:  https://lore.kernel.org/patchwork/patch/1435705
(cherry picked from commit 3958e2d0c34e18c41b60dc01832bd670a59ef70f
 https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git tj)

Conflicts:
        include/linux/cgroup-defs.h
        kernel/cgroup/cgroup.c

1. Trivial merge conflict in cgroup-defs.h due to missing CFTYPE_DEBUG
2. Changed flags to (CFTYPE_NOT_ON_ROOT | CFTYPE_PRESSURE) in cgroup.c
because in 4.19 psi files were allowed only in non-root cgroups.

Bug: 178872719
Bug: 191734423
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Ifc8fbc52f9a1131d7c2668edbb44c525c76c3360
Git-commit: 92c6dd6a650e1c9161b3e9b37cb7e34b98c32b06
Git-repo: https://android.googlesource.com/kernel/common/
Signed-off-by: Srinivasarao P <spathi@codeaurora.org>
2021-07-01 23:43:00 -07:00
..
autogroup.c ANDROID: sched/autogroup: Define autogroup_path() for !CONFIG_SCHED_DEBUG 2018-10-26 12:44:03 +01:00
autogroup.h
boost.c sched/walt: Improve the scheduler 2020-04-21 09:31:05 +05:30
clock.c
completion.c
core.c Merge android-4.19-stable.157 (8ee67bc) into msm-4.19 2020-12-18 18:35:06 +05:30
core_ctl.c sched: core_ctl: Fix possible uninitialized variable 2020-06-25 09:57:03 +05:30
cpuacct.c
cpudeadline.c Revert "sched/deadline: Remove cpu_active_mask from cpudl_find()" 2019-03-14 13:31:04 -07:00
cpudeadline.h
cpufreq.c cpufreq: Avoid leaving stale IRQ work items during CPU offline 2019-12-31 16:36:22 +01:00
cpufreq_schedutil.c Merge android-4.19-stable.136 (204dd19) into msm-4.19 2020-10-14 20:04:29 +05:30
cpupri.c Revert "BACKPORT: sched/rt: Make RT capacity-aware" 2020-04-22 02:31:57 -07:00
cpupri.h Revert "BACKPORT: sched/rt: Make RT capacity-aware" 2020-04-22 02:31:57 -07:00
cputime.c Merge android-4.19-q.84 (314ab78) into msm-4.19 2020-01-28 01:25:51 -08:00
deadline.c Merge android-4.19-stable.136 (204dd19) into msm-4.19 2020-10-14 20:04:29 +05:30
debug.c Merge android-4.19.48 (01f5de3) into msm-4.19 2019-07-14 23:58:35 -07:00
fair.c Merge android-4.19-stable.146 (443485d) into msm-4.19 2020-10-16 11:06:31 +05:30
features.h Merge android-4.19.110 (1984fff) into msm-4.19 2020-05-23 05:08:22 -07:00
idle.c Merge android-4.19-q.77 (cd1eb9f) into msm-4.19 2019-10-14 00:52:41 -07:00
isolation.c
loadavg.c UPSTREAM: sched: loadavg: make calc_load_n() public 2019-03-21 16:25:27 -07:00
Makefile Reverting below patches from android-4.19-stable.125 2020-07-29 13:12:56 +05:30
membarrier.c sched/membarrier: Fix private expedited registration check 2019-10-11 18:21:22 +02:00
pelt.c UPSTREAM: sched/fair: Update scale invariance of PELT 2019-03-26 14:22:50 +00:00
pelt.h UPSTREAM: sched/fair: Update scale invariance of PELT 2019-03-26 14:22:50 +00:00
psi.c BACKPORT: cgroup: make per-cgroup pressure stall tracking configurable 2021-07-01 23:43:00 -07:00
rt.c Merge "sched: rt: Add trace point for taskplacement" 2020-08-07 08:33:08 -07:00
sched-pelt.h sched/fair: Fix "runnable_avg_yN_inv" not used warnings 2019-07-26 09:14:08 +02:00
sched.h Merge android-4.19-stable.157 (8ee67bc) into msm-4.19 2020-12-18 18:35:06 +05:30
sched_avg.c sched: walt: Use sched_avg for WALT only 2019-09-29 23:33:27 -07:00
stats.c
stats.h UPSTREAM: psi: make disabling/enabling easier for vendor kernels 2019-03-21 16:25:27 -07:00
stop_task.c sched: Add snapshot of Window Assisted Load Tracking (WALT) 2019-01-02 10:56:07 -08:00
swait.c
topology.c Merge android-4.19-stable.146 (443485d) into msm-4.19 2020-10-16 11:06:31 +05:30
tune.c Merge "sched/tune: Fix improper accounting of tasks" 2020-10-19 15:55:56 -07:00
tune.h Merge android-4.19-stable.136 (204dd19) into msm-4.19 2020-10-14 20:04:29 +05:30
wait.c ANDROID: GKI: attribute page lock and waitqueue functions as sched 2020-04-17 22:51:44 -07:00
wait_bit.c
walt.c walt: Add window rollover trace event 2020-12-18 13:51:42 +05:30
walt.h sched/fair: Add policy for restricting prefer_spread to newly idle balance 2020-08-05 09:27:20 +05:30