Skip to content

Commit ed0d0db

Browse files
paulmckrcuJoel Fernandes
authored andcommitted
rcutorture: Comment invocations of tick_dep_set_task()
The rcu_torture_reader() and rcu_torture_fwd_prog_cr() functions run CPU-bound for extended periods of time (tens or even hundreds of milliseconds), so they invoke tick_dep_set_task() and tick_dep_clear_task() to ensure that the scheduling-clock tick helps move grace periods forward. So why doesn't rcu_torture_fwd_prog_nr() also invoke tick_dep_set_task() and tick_dep_clear_task()? Because the point of this function is to test RCU's ability to (eventually) force grace periods forward even when the tick has been disabled during long CPU-bound kernel execution. Signed-off-by: Paul E. McKenney <[email protected]> Signed-off-by: Joel Fernandes <[email protected]>
1 parent a3204f7 commit ed0d0db

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

kernel/rcu/rcutorture.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2345,7 +2345,7 @@ rcu_torture_reader(void *arg)
23452345
set_user_nice(current, MAX_NICE);
23462346
if (irqreader && cur_ops->irq_capable)
23472347
timer_setup_on_stack(&t, rcu_torture_timer, 0);
2348-
tick_dep_set_task(current, TICK_DEP_BIT_RCU);
2348+
tick_dep_set_task(current, TICK_DEP_BIT_RCU); // CPU bound, so need tick.
23492349
do {
23502350
if (irqreader && cur_ops->irq_capable) {
23512351
if (!timer_pending(&t))
@@ -3074,7 +3074,7 @@ static void rcu_torture_fwd_prog_cr(struct rcu_fwd *rfp)
30743074
cver = READ_ONCE(rcu_torture_current_version);
30753075
gps = cur_ops->get_gp_seq();
30763076
rfp->rcu_launder_gp_seq_start = gps;
3077-
tick_dep_set_task(current, TICK_DEP_BIT_RCU);
3077+
tick_dep_set_task(current, TICK_DEP_BIT_RCU); // CPU bound, so need tick.
30783078
while (time_before(jiffies, stopat) &&
30793079
!shutdown_time_arrived() &&
30803080
!READ_ONCE(rcu_fwd_emergency_stop) && !torture_must_stop()) {

0 commit comments

Comments
 (0)