From: Paul E. McKenney Date: Wed, 11 Aug 2021 16:07:44 +0000 (-0700) Subject: rcu-tasks: Move RTGS_WAIT_CBS to beginning of rcu_tasks_kthread() loop X-Git-Tag: v6.6.17~8957^2^3~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0db7c32ad3160ae06f497d48a74bd46a2a35e6bf;p=platform%2Fkernel%2Flinux-rpi.git rcu-tasks: Move RTGS_WAIT_CBS to beginning of rcu_tasks_kthread() loop Early in debugging, it made some sense to differentiate the first iteration from subsequent iterations, but now this just causes confusion. This commit therefore moves the "set_tasks_gp_state(rtp, RTGS_WAIT_CBS)" statement to the beginning of the "for" loop in rcu_tasks_kthread(). Reported-by: Neeraj Upadhyay Signed-off-by: Paul E. McKenney --- diff --git a/kernel/rcu/tasks.h b/kernel/rcu/tasks.h index 43c0f71..7e26417 100644 --- a/kernel/rcu/tasks.h +++ b/kernel/rcu/tasks.h @@ -197,6 +197,7 @@ static int __noreturn rcu_tasks_kthread(void *arg) * This loop is terminated by the system going down. ;-) */ for (;;) { + set_tasks_gp_state(rtp, RTGS_WAIT_CBS); /* Pick up any new callbacks. */ raw_spin_lock_irqsave(&rtp->cbs_lock, flags); @@ -236,8 +237,6 @@ static int __noreturn rcu_tasks_kthread(void *arg) } /* Paranoid sleep to keep this from entering a tight loop */ schedule_timeout_idle(rtp->gp_sleep); - - set_tasks_gp_state(rtp, RTGS_WAIT_CBS); } }