aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/event_analyzing_sample.py
diff options
context:
space:
mode:
authorAnkur Arora <[email protected]>2024-12-13 04:06:56 +0000
committerBoqun Feng <[email protected]>2025-02-05 15:01:55 +0000
commit83b28cfe796464ebbde1cf7916c126da6d572685 (patch)
treeeec4fcc9741875e22ac8b1cf411adce4e2e5024b /tools/perf/scripts/python/event_analyzing_sample.py
parentrcu: handle unstable rdp in rcu_read_unlock_strict() (diff)
downloadkernel-83b28cfe796464ebbde1cf7916c126da6d572685.tar.gz
kernel-83b28cfe796464ebbde1cf7916c126da6d572685.zip
rcu: handle quiescent states for PREEMPT_RCU=n, PREEMPT_COUNT=y
With PREEMPT_RCU=n, cond_resched() provides urgently needed quiescent states for read-side critical sections via rcu_all_qs(). One reason why this was needed: lacking preempt-count, the tick handler has no way of knowing whether it is executing in a read-side critical section or not. With (PREEMPT_LAZY=y, PREEMPT_DYNAMIC=n), we get (PREEMPT_COUNT=y, PREEMPT_RCU=n). In this configuration cond_resched() is a stub and does not provide quiescent states via rcu_all_qs(). (PREEMPT_RCU=y provides this information via rcu_read_unlock() and its nesting counter.) So, use the availability of preempt_count() to report quiescent states in rcu_flavor_sched_clock_irq(). Suggested-by: Paul E. McKenney <[email protected]> Reviewed-by: Sebastian Andrzej Siewior <[email protected]> Signed-off-by: Ankur Arora <[email protected]> Reviewed-by: Frederic Weisbecker <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]> Signed-off-by: Boqun Feng <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/event_analyzing_sample.py')
0 files changed, 0 insertions, 0 deletions