]> git.itanic.dy.fi Git - linux-stable/commit
locking/rwsem: Add __always_inline annotation to __down_read_common() and inlined...
authorJohn Stultz <jstultz@google.com>
Wed, 3 May 2023 02:33:51 +0000 (02:33 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 May 2023 11:59:10 +0000 (13:59 +0200)
commit3936828625374468612cce1527c8c7af0745839c
tree7c2ef35cd4a245413efff60a7ebf4e7b4f6e00d0
parent99541ffa29dce5f00fedd757c1c0a3f250b93c5f
locking/rwsem: Add __always_inline annotation to __down_read_common() and inlined callers

commit 92cc5d00a431e96e5a49c0b97e5ad4fa7536bd4b upstream.

Apparently despite it being marked inline, the compiler
may not inline __down_read_common() which makes it difficult
to identify the cause of lock contention, as the blocked
function in traceevents will always be listed as
__down_read_common().

So this patch adds __always_inline annotation to the common
function (as well as the inlined helper callers) to force it to
be inlined so the blocking function will be listed (via Wchan)
in traceevents.

Fixes: c995e638ccbb ("locking/rwsem: Fold __down_{read,write}*()")
Reported-by: Tim Murray <timmurray@google.com>
Signed-off-by: John Stultz <jstultz@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Waiman Long <longman@redhat.com>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20230503023351.2832796-1-jstultz@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
kernel/locking/rwsem.c