psi support for 4.19
Liu Xinpeng (30):
delayacct: track delays from thrashing cache pages
sched: loadavg: consolidate LOAD_INT, LOAD_FRAC, CALC_LOAD
sched: loadavg: make calc_load_n() public
sched: sched.h: make rq locking and clock functions available in
stats.h
sched: introduce this_rq_lock_irq()
psi: pressure stall information for CPU, memory, and IO
psi: cgroup support
kernel/sched/psi.c: simplify cgroup_move_task()
psi: make disabling/enabling easier for vendor kernels
psi: fix aggregation idle shut-off
psi: avoid divide-by-zero crash inside virtual machines
fs: kernfs: add poll file operation
kernel: cgroup: add poll file operation
psi: introduce state_mask to represent stalled psi states
psi: make psi_enable static
psi: rename psi fields in preparation for psi trigger addition
psi: split update_stats into parts
psi: track changed states
include/: refactor headers to allow kthread.h inclusion in psi_types.h
psi: introduce psi monitor
kernel/sched/psi.c: expose pressure metrics on root cgroup
sched/psi: Reduce psimon FIFO priority
sched/psi: Do not require setsched permission from the
psi: get poll_work to run when calling poll syscall next time
sched/psi: Correct overly pessimistic size calculation
sched/psi: Fix sampling error and rare div0 crashes with cgroups and
high uptime
psi: Fix a division error in psi poll()
sched/psi: Fix OOB write when writing 0 bytes to PSI files
psi:enable psi in config
avoid kabi change for psi merged feature
Documentation/accounting/psi.txt | 180 +++
Documentation/admin-guide/cgroup-v2.rst | 18 +
.../admin-guide/kernel-parameters.txt | 4 +
arch/arm64/configs/openeuler_defconfig | 2 +
.../platforms/cell/cpufreq_spudemand.c | 2 +-
arch/powerpc/platforms/cell/spufs/sched.c | 9 +-
arch/s390/appldata/appldata_os.c | 4 -
arch/x86/configs/openeuler_defconfig | 2 +
block/blk-iolatency.c | 8 +-
drivers/cpuidle/governors/menu.c | 4 -
drivers/spi/spi-rockchip.c | 1 +
fs/kernfs/file.c | 31 +-
fs/proc/loadavg.c | 3 -
include/linux/cgroup-defs.h | 12 +
include/linux/cgroup.h | 15 +
include/linux/delayacct.h | 27 +
include/linux/kernfs.h | 8 +
include/linux/kthread.h | 4 +
include/linux/psi.h | 65 +
include/linux/psi_types.h | 173 +++
include/linux/sched.h | 9 +
include/linux/sched/loadavg.h | 24 +-
include/uapi/linux/taskstats.h | 8 +-
init/Kconfig | 28 +
kernel/cgroup/cgroup.c | 129 +-
kernel/debug/kdb/kdb_main.c | 7 +-
kernel/delayacct.c | 15 +
kernel/fork.c | 4 +
kernel/kthread.c | 3 +
kernel/sched/Makefile | 1 +
kernel/sched/core.c | 16 +-
kernel/sched/loadavg.c | 139 +-
kernel/sched/psi.c | 1292 +++++++++++++++++
kernel/sched/sched.h | 178 +--
kernel/sched/stats.h | 86 ++
kernel/workqueue.c | 23 +
kernel/workqueue_internal.h | 6 +-
mm/compaction.c | 5 +
mm/filemap.c | 20 +
mm/page_alloc.c | 9 +
mm/vmscan.c | 9 +
tools/accounting/getdelays.c | 8 +-
42 files changed, 2380 insertions(+), 211 deletions(-)
create mode 100644 Documentation/accounting/psi.txt
create mode 100644 include/linux/psi.h
create mode 100644 include/linux/psi_types.h
create mode 100644 kernel/sched/psi.c
--
2.25.1