diff options
author | Boqun Feng <boqun.feng@gmail.com> | 2025-02-24 07:29:31 +0300 |
---|---|---|
committer | Boqun Feng <boqun.feng@gmail.com> | 2025-03-05 05:46:47 +0300 |
commit | a56ca5619f9ccce701789e2d231419ed50c0f033 (patch) | |
tree | 9f3c5ea4135da7580c21e9532a1cbe65d588c5ab /rust/helpers/helpers.c | |
parent | 0be4b19edd74297f9843d756eb879a0960bd4860 (diff) | |
download | linux-a56ca5619f9ccce701789e2d231419ed50c0f033.tar.xz |
rcutorture: Update ->extendables check for lazy preemption
The rcutorture_one_extend_check() function's second last check assumes
that "preempt_count() & PREEMPT_MASK" is non-zero only if
RCUTORTURE_RDR_PREEMPT or RCUTORTURE_RDR_SCHED bit is set.
This works for preemptible RCU and for non-preemptible RCU running in
a non-preemptible kernel. But it fails for non-preemptible RCU running
in a preemptible kernel because then rcu_read_lock() is just
preempt_disable(), which increases preempt count.
This commit therefore adjusts this check to take into account the case
fo non-preemptible RCU running in a preemptible kernel.
Reviewed-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
Diffstat (limited to 'rust/helpers/helpers.c')
0 files changed, 0 insertions, 0 deletions