Re: [PATCH 2/2] locking/rwsem-spinlock: Cleanup down_read()

From: Ingo Molnar
Date: Tue Sep 16 2014 - 03:48:30 EST



* Davidlohr Bueso <dave@xxxxxxxxxxxx> wrote:

> ... when returning from a successful lock acquisition. The horror!
>
> Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx>
> ---
> kernel/locking/rwsem-spinlock.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/kernel/locking/rwsem-spinlock.c b/kernel/locking/rwsem-spinlock.c
> index 2c93571..07e456c 100644
> --- a/kernel/locking/rwsem-spinlock.c
> +++ b/kernel/locking/rwsem-spinlock.c
> @@ -130,7 +130,7 @@ void __sched __down_read(struct rw_semaphore *sem)
> /* granted */
> sem->count++;
> raw_spin_unlock_irqrestore(&sem->wait_lock, flags);
> - goto out;
> + return;
> }
>
> tsk = current;
> @@ -155,8 +155,6 @@ void __sched __down_read(struct rw_semaphore *sem)
> }
>
> tsk->state = TASK_RUNNING;
> - out:
> - ;
> }

It following an existing 'out' pattern found elsewhere in the
file - I don't think there's much wrong about that per se -
especially in locking code we try to not return from the middle
of the flow.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/