lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.14 219/849] rcu-tasks: Move RTGS_WAIT_CBS to beginning of rcu_tasks_kthread() loop
    Date
    From: Paul E. McKenney <paulmck@kernel.org>

    [ Upstream commit 0db7c32ad3160ae06f497d48a74bd46a2a35e6bf ]

    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 <neeraju@codeaurora.org>
    Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    kernel/rcu/tasks.h | 3 +--
    1 file changed, 1 insertion(+), 2 deletions(-)

    diff --git a/kernel/rcu/tasks.h b/kernel/rcu/tasks.h
    index 8536c55df5142..fd3909c59b6a4 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);
    }
    }

    --
    2.33.0


    \
     
     \ /
      Last update: 2021-11-16 02:32    [W:2.897 / U:0.164 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site