[PATCH 00/14] sched/nohz: Make kcpustat's CPUTIME_SYSTEM vtime aware v2 (Partially fix kcpustat on nohz_full)
From: Frederic Weisbecker
Date: Tue Oct 15 2019 - 22:57:10 EST
Thanks to the recent patches that have brought a sensible rq->curr RCU
lifecycle, here comes a simplified rework of
"[PATCH 00/25] sched/nohz: Make kcpustat vtime aware"
See for the record and a summary: https://lore.kernel.org/lkml/1542163569-20047-1-git-send-email-frederic@xxxxxxxxxx/
Since I'm trying to cut and simplify the series, this one only fixes
the reading of kcpustat's system field for now. But that also provides
all the necessary preparation work for the rest.
User and guest time will have their own series because niceness brings
issues of its own.
git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
nohz/kcpustat-v2
HEAD: e179e89320c53a96c5d585af38126cfb124da789
Thanks,
Frederic
---
Frederic Weisbecker (14):
sched/vtime: Record CPU under seqcount for kcpustat needs
sched/cputime: Add vtime idle task state
sched/cputime: Add vtime guest task state
context_tracking: Remove context_tracking_active()
context_tracking: s/context_tracking_is_enabled/context_tracking_enabled()
context_tracking: Rename context_tracking_is_cpu_enabled() to context_tracking_enabled_this_cpu()
context_tracking: Introduce context_tracking_enabled_cpu()
sched/vtime: Rename vtime_accounting_cpu_enabled() to vtime_accounting_enabled_this_cpu()
sched/vtime: Introduce vtime_accounting_enabled_cpu()
context_tracking: Check static key on context_tracking_enabled_*cpu()
sched/kcpustat: Introduce vtime-aware kcpustat accessor for CPUTIME_SYSTEM
procfs: Use vtime aware kcpustat accessor to fetch CPUTIME_SYSTEM
cpufreq: Use vtime aware kcpustat accessor to fetch CPUTIME_SYSTEM
leds: Use vtime aware kcpustat accessor to fetch CPUTIME_SYSTEM
arch/x86/entry/calling.h | 2 +-
drivers/cpufreq/cpufreq.c | 2 +-
drivers/leds/trigger/ledtrig-activity.c | 2 +-
fs/proc/stat.c | 4 +-
include/linux/context_tracking.h | 26 +++----
include/linux/context_tracking_state.h | 21 +++---
include/linux/kernel_stat.h | 11 +++
include/linux/sched.h | 9 ++-
include/linux/tick.h | 2 +-
include/linux/vtime.h | 23 +++---
kernel/context_tracking.c | 6 +-
kernel/sched/cputime.c | 119 ++++++++++++++++++++++++++++----
kernel/time/tick-sched.c | 2 +-
13 files changed, 172 insertions(+), 57 deletions(-)