summaryrefslogtreecommitdiff
path: root/include/linux/wireless.h
diff options
context:
space:
mode:
authorFrederic Weisbecker <frederic@kernel.org>2021-10-26 16:10:55 +0200
committerThomas Gleixner <tglx@linutronix.de>2021-12-02 15:08:22 +0100
commite7f2be115f0746b969c0df14c0d182f65f005ca5 (patch)
tree84bd68b584c1eb411f4f02161a843ed4c472cde2 /include/linux/wireless.h
parentd58071a8a76d779eedab38033ae4c821c30295a5 (diff)
sched/cputime: Fix getrusage(RUSAGE_THREAD) with nohz_full
getrusage(RUSAGE_THREAD) with nohz_full may return shorter utime/stime than the actual time. task_cputime_adjusted() snapshots utime and stime and then adjust their sum to match the scheduler maintained cputime.sum_exec_runtime. Unfortunately in nohz_full, sum_exec_runtime is only updated once per second in the worst case, causing a discrepancy against utime and stime that can be updated anytime by the reader using vtime. To fix this situation, perform an update of cputime.sum_exec_runtime when the cputime snapshot reports the task as actually running while the tick is disabled. The related overhead is then contained within the relevant situations. Reported-by: Hasegawa Hitomi <hasegawa-hitomi@fujitsu.com> Signed-off-by: Frederic Weisbecker <frederic@kernel.org> Signed-off-by: Hasegawa Hitomi <hasegawa-hitomi@fujitsu.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com> Acked-by: Phil Auld <pauld@redhat.com> Link: https://lore.kernel.org/r/20211026141055.57358-3-frederic@kernel.org
Diffstat (limited to 'include/linux/wireless.h')
0 files changed, 0 insertions, 0 deletions