summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/stackcollapse.py
diff options
context:
space:
mode:
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>2026-08-08 13:31:49 -0400
committerPaul E. McKenney <paulmck@kernel.org>2026-09-18 16:06:51 -0700
commit0b8114b25f170df7577ae592a195efc4643d2484 (patch)
treeb4e567760c3773237ad3832c43ffbd7368fe0dc9 /tools/perf/scripts/python/stackcollapse.py
parent2ddd9c4cc53bc4b06da7d23486247857c11e7420 (diff)
downloadlinux-next-0b8114b25f170df7577ae592a195efc4643d2484.tar.gz
linux-next-0b8114b25f170df7577ae592a195efc4643d2484.zip
hazptr: Implement two-phase wildcard scan
Implement a two-phase wildcard scan to guarantee forward progress of synchronize_hazptr() even if there is a steady stream of ill-timed readers which populate wildcards into per-CPU slots. This is performed by flipping between two wildcard values (1UL and 2UL), and alternatively scanning for the opposite wildcard while newcoming readers use the other one. There is no possibility to miss a reader because all slots for all wildcards are accounted for during a synchronize. As a simplification, use this period flip to drive the hazptr overflow list selection as well, since there is really no point is making the overflow list flip use a different state. Protect the wildcard flip with a mutex. Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org> Cc: Boqun Feng <boqun@kernel.org> Reviewed-by: Bradley Morgan <include@grrlz.net>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions