Re: [PATCH] semaphore: use raw_spin_lock_irq instead of raw_spin_lock_irqsave

From: Ingo Molnar
Date: Thu Jun 21 2018 - 09:50:23 EST



* Mikulas Patocka <mpatocka@xxxxxxxxxx> wrote:

> The sleeping functions down, down_interruptible, down_killable and
> down_timeout can't be called with interrupts disabled, so we don't have to
> save and restore interrupt flag.
>
> This patch avoids the costly pushf and popf instructions on the semaphore
> path.
>
> Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx>
>
> ---
> kernel/locking/semaphore.c | 21 ++++++++-------------
> 1 file changed, 8 insertions(+), 13 deletions(-)

I've applied this to the locking tree, I suspect we can do this on the condition
that it doesn't explode in early boot code (which has irqs disabled) and doesn't
generate early boot lockdep splats either.

Thanks,

Ingo