This commit passes a hazptr_pending structure instead of a pair of
pointers to the hazptr_torture_reader_tail() function in order to make it
easier to test the releasing of hazard pointers from interrupt handlers.

Signed-off-by: Paul E. McKenney <[email protected]>
---
 kernel/rcu/hazptrtorture.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/kernel/rcu/hazptrtorture.c b/kernel/rcu/hazptrtorture.c
index 266fecb00105f9..625ed90912a2c6 100644
--- a/kernel/rcu/hazptrtorture.c
+++ b/kernel/rcu/hazptrtorture.c
@@ -368,9 +368,11 @@ static void hazptr_torture_acquire(void *hppp_in)
  * be invoked from hazptr_torture_reader, but also for hazard pointers
  * sent off to interrupt handlers and the like.
  */
-static void hazptr_torture_reader_tail(struct hazptr_ctx *hcp, struct 
hazptr_torture *htp,
-                                      struct torture_random_state *trsp)
+static void
+hazptr_torture_reader_tail(struct hazptr_pending *hppp, struct 
torture_random_state *trsp)
 {
+       struct hazptr_ctx *hcp = &hppp->hpp_hc;
+       struct hazptr_torture *htp = hppp->hpp_htp;
        int pipe_count;
 
        cur_ops->read_delay(trsp);
@@ -453,7 +455,7 @@ static int hazptr_torture_reader(void *arg)
                        hazptr_torture_defer(hppp, &rand);
                        hppp = NULL;
                } else {
-                       hazptr_torture_reader_tail(&hppp->hpp_hc, 
hppp->hpp_htp, &rand);
+                       hazptr_torture_reader_tail(hppp, &rand);
                }
                while (!torture_must_stop() &&
                       (torture_num_online_cpus() < mynumonline || 
!rcu_inkernel_boot_has_ended()))
@@ -479,7 +481,7 @@ static void hazptr_torture_do_one_pending(int cpu, struct 
torture_random_state *
        if (!llnp)
                return;
        llist_for_each_entry_safe(hppp, hppp1, llnp, hpp_node) {
-               hazptr_torture_reader_tail(&hppp->hpp_hc, hppp->hpp_htp, trsp);
+               hazptr_torture_reader_tail(hppp, trsp);
                kfree(hppp);
        }
 }
-- 
2.40.1


Reply via email to