Hi all, This patch series are some optimization and extension for PSI, based on the tip/sched/core branch. patch 1/10 fix periodic aggregation shut off problem introduced by earlier commit 4117cebf1a9f ("psi: Optimize task switch inside shared cgroups"). patch 2/10 optimize task switch inside shared cgroups when in_memstall status of prev task and next task are different. patch 3-4 optimize and simplify PSI status tracking by don't change task psi_flags when migrate CPU/cgroup. patch 7/10 remove NR_ONCPU task accounting to save 4 bytes in the first cacheline to be used by the following patch 8/10, which introduce new PSI resource PSI_IRQ to track IRQ/SOFTIRQ pressure stall information. patch 9/10 introduce a per-cgroup interface "cgroup.psi" to disable or re-enable PSI stats accounting in the cgroup level. patch 10/10 cache parent psi_group in struct psi_group to speed up the hot iteration path. Thanks! Changes in v2: - Add Acked-by tags from Johannes Weiner. Thanks for review! - Fix periodic aggregation wakeup for common ancestors in psi_task_switch(). - Add patch 7/10 from Johannes Weiner, which remove NR_ONCPU task accounting to save 4 bytes in the first cacheline. - Remove "psi_irq=" kernel cmdline parameter in last version. - Add per-cgroup interface "cgroup.psi" to disable/re-enable PSI stats accounting in the cgroup level. Chengming Zhou (9): sched/psi: fix periodic aggregation shut off sched/psi: optimize task switch inside shared cgroups again sched/psi: move private helpers to sched/stats.h sched/psi: don't change task psi_flags when migrate CPU/group sched/psi: don't create cgroup PSI files when psi_disabled sched/psi: save percpu memory when !psi_cgroups_enabled sched/psi: add PSI_IRQ to track IRQ/SOFTIRQ pressure sched/psi: per-cgroup PSI stats disable/re-enable interface sched/psi: cache parent psi_group to speed up groups iterate Johannes Weiner (1): sched/psi: remove NR_ONCPU task accounting Documentation/admin-guide/cgroup-v2.rst | 13 ++ include/linux/psi.h | 6 +- include/linux/psi_types.h | 25 +-- include/linux/sched.h | 3 - kernel/cgroup/cgroup.c | 73 +++++++ kernel/sched/core.c | 2 + kernel/sched/psi.c | 247 +++++++++++++++++------- kernel/sched/stats.h | 60 +++--- 8 files changed, 313 insertions(+), 116 deletions(-) -- 2.36.1