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

Ingo Molnar
2018-06-21T13:50:21Z

* Mikulas Patocka <mpatocka@redhat.com> 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@redhat.com>
>
> ---
> 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