From 92b2c136580869fe9286a4d880d592d74f55d5b7 Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Mon, 1 Sep 2014 00:17:18 +0200 Subject: [PATCH] Declare lwlock.c's LWLockAcquireCommon() as a static inline. 68a2e52bbaf98f136 has introduced LWLockAcquireCommon() containing the previous contents of LWLockAcquire() plus added functionality. The latter then calls it, just like LWLockAcquireWithVar(). Because the majority of callers don't need the added functionality, declare the common code as inline. The compiler then can optimize away the unused code. Doing so is also useful when looking at profiles, to differentiate the users. Backpatch to 9.4, the first branch to contain LWLockAcquireCommon(). --- src/backend/storage/lmgr/lwlock.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/storage/lmgr/lwlock.c b/src/backend/storage/lmgr/lwlock.c index d23ac62bf8..5453549a79 100644 --- a/src/backend/storage/lmgr/lwlock.c +++ b/src/backend/storage/lmgr/lwlock.c @@ -85,8 +85,8 @@ static LWLock *held_lwlocks[MAX_SIMUL_LWLOCKS]; static int lock_addin_request = 0; static bool lock_addin_request_allowed = true; -static bool LWLockAcquireCommon(LWLock *l, LWLockMode mode, uint64 *valptr, - uint64 val); +static inline bool LWLockAcquireCommon(LWLock *l, LWLockMode mode, + uint64 *valptr, uint64 val); #ifdef LWLOCK_STATS typedef struct lwlock_stats_key @@ -478,7 +478,7 @@ LWLockAcquireWithVar(LWLock *l, uint64 *valptr, uint64 val) } /* internal function to implement LWLockAcquire and LWLockAcquireWithVar */ -static bool +static inline bool LWLockAcquireCommon(LWLock *l, LWLockMode mode, uint64 *valptr, uint64 val) { volatile LWLock *lock = l; -- 2.40.0