Re: [PATCH rcu 15/18] rcu: Remove useless "ret" update in rcu_gp_fqs_loop()

From: Joe Perches
Date: Tue Aug 03 2021 - 12:48:33 EST


On Wed, 2021-07-21 at 13:21 -0700, Paul E. McKenney wrote:
> From: Liu Song <liu.song11@xxxxxxxxxx>
>
> Within rcu_gp_fqs_loop(), the "ret" local variable is set to the
> return value from swait_event_idle_timeout_exclusive(), but "ret" is
> unconditionally overwritten later in the code. This commit therefore
> removes this useless assignment.
[]
> diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
[]
> @@ -1960,8 +1960,8 @@ static noinline_for_stack void rcu_gp_fqs_loop(void)
>   trace_rcu_grace_period(rcu_state.name, rcu_state.gp_seq,
>   TPS("fqswait"));
>   WRITE_ONCE(rcu_state.gp_state, RCU_GP_WAIT_FQS);
> - ret = swait_event_idle_timeout_exclusive(
> - rcu_state.gp_wq, rcu_gp_fqs_check_wake(&gf), j);
> + (void)swait_event_idle_timeout_exclusive(rcu_state.gp_wq,
> + rcu_gp_fqs_check_wake(&gf), j);

It doesn't seem this is a __must_check routine so why
bother to cast to void ?

>   rcu_gp_torture_wait();
>   WRITE_ONCE(rcu_state.gp_state, RCU_GP_DOING_FQS);
>   /* Locking provides needed memory barriers. */