Re: [PATCH 2/4] locking/rwbase: Properly match set_and_save_state() to restore_state()

From: Thomas Gleixner
Date: Tue Sep 14 2021 - 03:31:35 EST


On Thu, Sep 09 2021 at 12:59, Peter Zijlstra wrote:
> Noticed while looking at the readers race.
>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
> ---
> kernel/locking/rwbase_rt.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- a/kernel/locking/rwbase_rt.c
> +++ b/kernel/locking/rwbase_rt.c
> @@ -220,7 +220,7 @@ static int __sched rwbase_write_lock(str
> for (; atomic_read(&rwb->readers);) {
> /* Optimized out for rwlocks */
> if (rwbase_signal_pending_state(state, current)) {
> - __set_current_state(TASK_RUNNING);
> + rwbase_restore_current_state();

Right, that's functionally equivalent and makes the code more consistent.

Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>