rcu: Add comment to rcu_do_batch() identifying rcuoc code path
authorPaul E. McKenney <paulmck@kernel.org>
Sat, 4 Mar 2023 21:40:55 +0000 (13:40 -0800)
committerJoel Fernandes (Google) <joel@joelfernandes.org>
Wed, 5 Apr 2023 13:47:18 +0000 (13:47 +0000)
This commit adds a comment to help explain why the "else" clause of the
in_serving_softirq() "if" statement does not need to enforce a time limit.
The reason is that this "else" clause handles rcuoc kthreads that do not
block handlers for other softirq vectors.

Acked-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
kernel/rcu/tree.c

index 8e880c0..06cc6a6 100644 (file)
@@ -2131,6 +2131,8 @@ static void rcu_do_batch(struct rcu_data *rdp)
                                break;
                        }
                } else {
+                       // In rcuoc context, so no worries about depriving
+                       // other softirq vectors of CPU cycles.
                        local_bh_enable();
                        lockdep_assert_irqs_enabled();
                        cond_resched_tasks_rcu_qs();