rcutorture.c (edf7b8417834c89d00ef88355ea507b0b0a630ae) rcutorture.c (1afb95fee0342b8d9e05b0433e8e44a6dfd7c4a3)
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Read-Copy Update module-based torture test facility
4 *
5 * Copyright (C) IBM Corporation, 2005, 2006
6 *
7 * Authors: Paul E. McKenney <paulmck@linux.ibm.com>
8 * Josh Triplett <josh@joshtriplett.org>

--- 1324 unchanged lines hidden (view full) ---

1333 kfree(rhp);
1334}
1335
1336// Set up and carry out testing of RCU's global memory ordering
1337static void rcu_torture_reader_do_mbchk(long myid, struct rcu_torture *rtp,
1338 struct torture_random_state *trsp)
1339{
1340 unsigned long loops;
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Read-Copy Update module-based torture test facility
4 *
5 * Copyright (C) IBM Corporation, 2005, 2006
6 *
7 * Authors: Paul E. McKenney <paulmck@linux.ibm.com>
8 * Josh Triplett <josh@joshtriplett.org>

--- 1324 unchanged lines hidden (view full) ---

1333 kfree(rhp);
1334}
1335
1336// Set up and carry out testing of RCU's global memory ordering
1337static void rcu_torture_reader_do_mbchk(long myid, struct rcu_torture *rtp,
1338 struct torture_random_state *trsp)
1339{
1340 unsigned long loops;
1341 int noc = num_online_cpus();
1341 int noc = torture_num_online_cpus();
1342 int rdrchked;
1343 int rdrchker;
1344 struct rcu_torture_reader_check *rtrcp; // Me.
1345 struct rcu_torture_reader_check *rtrcp_assigner; // Assigned us to do checking.
1346 struct rcu_torture_reader_check *rtrcp_chked; // Reader being checked.
1347 struct rcu_torture_reader_check *rtrcp_chker; // Reader doing checking when not me.
1348
1349 if (myid < 0)

--- 303 unchanged lines hidden (view full) ---

1653 mod_timer(&t, jiffies + 1);
1654 }
1655 if (!rcu_torture_one_read(&rand, myid) && !torture_must_stop())
1656 schedule_timeout_interruptible(HZ);
1657 if (time_after(jiffies, lastsleep) && !torture_must_stop()) {
1658 torture_hrtimeout_us(500, 1000, &rand);
1659 lastsleep = jiffies + 10;
1660 }
1342 int rdrchked;
1343 int rdrchker;
1344 struct rcu_torture_reader_check *rtrcp; // Me.
1345 struct rcu_torture_reader_check *rtrcp_assigner; // Assigned us to do checking.
1346 struct rcu_torture_reader_check *rtrcp_chked; // Reader being checked.
1347 struct rcu_torture_reader_check *rtrcp_chker; // Reader doing checking when not me.
1348
1349 if (myid < 0)

--- 303 unchanged lines hidden (view full) ---

1653 mod_timer(&t, jiffies + 1);
1654 }
1655 if (!rcu_torture_one_read(&rand, myid) && !torture_must_stop())
1656 schedule_timeout_interruptible(HZ);
1657 if (time_after(jiffies, lastsleep) && !torture_must_stop()) {
1658 torture_hrtimeout_us(500, 1000, &rand);
1659 lastsleep = jiffies + 10;
1660 }
1661 while (num_online_cpus() < mynumonline && !torture_must_stop())
1661 while (torture_num_online_cpus() < mynumonline && !torture_must_stop())
1662 schedule_timeout_interruptible(HZ / 5);
1663 stutter_wait("rcu_torture_reader");
1664 } while (!torture_must_stop());
1665 if (irqreader && cur_ops->irq_capable) {
1666 del_timer_sync(&t);
1667 destroy_timer_on_stack(&t);
1668 }
1669 tick_dep_clear_task(current, TICK_DEP_BIT_RCU);

--- 1366 unchanged lines hidden ---
1662 schedule_timeout_interruptible(HZ / 5);
1663 stutter_wait("rcu_torture_reader");
1664 } while (!torture_must_stop());
1665 if (irqreader && cur_ops->irq_capable) {
1666 del_timer_sync(&t);
1667 destroy_timer_on_stack(&t);
1668 }
1669 tick_dep_clear_task(current, TICK_DEP_BIT_RCU);

--- 1366 unchanged lines hidden ---