summaryrefslogtreecommitdiff
path: root/tools/lib/python/kdoc/python_version.py
diff options
context:
space:
mode:
authorAntoine Huret <antoine.huret@bull.com>2026-10-15 14:55:56 +0200
committerPeter Zijlstra <peterz@infradead.org>2026-10-16 09:49:01 +0200
commite4c7c401c6b9174c0c893084fdaa6a84bd2520d7 (patch)
tree4cced236a2c14d1d7332096c51e82dd219275528 /tools/lib/python/kdoc/python_version.py
parente76b36b4be7160eaa14b416681e548b125702395 (diff)
downloadlinux-next-e4c7c401c6b9174c0c893084fdaa6a84bd2520d7.tar.gz
linux-next-e4c7c401c6b9174c0c893084fdaa6a84bd2520d7.zip
perf: Update cgroup time when rotating multiplexed events
Since commit bd2756811766 ("perf: Rewrite core context handling"), perf_rotate_context() only updates the context time before scheduling out the flexible events. It no longer updates the cgroup time, which ctx_sched_out() used to do. Cgroup events take their times from the per-cpu cgroup clock, so between two cgroup switches the rotations see a frozen clock. The events rotated out lose the running time they accumulated, and the next update, usually a read, credits the whole interval to the events that happen to be on the PMU at that moment. As a result, the time_running of multiplexed cgroup events is wrong, and so are their scaled counts, as long as no other cgroup runs on the CPU, e.g. a busy job alone on its CPUs. Counting cycles over one second of a busy loop in a cgroup gives from half to several times the max frequency of the CPU. Update the cgroup time before rotating the CPU context, as was done before the rewrite. Fixes: bd2756811766 ("perf: Rewrite core context handling") Closes: https://lore.kernel.org/r/PR3PR07MB69223331EED5BEBE150375B7849C2@PR3PR07MB6922.eurprd07.prod.outlook.com/ Assisted-by: Claude:claude-opus-5-5 Signed-off-by: Antoine Huret <antoine.huret@bull.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: stable@vger.kernel.org Link: https://patch.msgid.link/20261015-perf-cgroup-rotation-time-v1-1-93e177dfee5d@bull.com
Diffstat (limited to 'tools/lib/python/kdoc/python_version.py')
0 files changed, 0 insertions, 0 deletions