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 --- |