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