@@ -859,13 +859,13 @@ LWLockAcquireOrWait(LWLock *l, LWLockMode mode)
859859 /* Failed to get lock, so release interrupt holdoff */
860860 RESUME_INTERRUPTS ();
861861 LOG_LWDEBUG ("LWLockAcquireOrWait" , T_NAME (l ), T_ID (l ), "failed" );
862- TRACE_POSTGRESQL_LWLOCK_WAIT_UNTIL_FREE_FAIL (T_NAME (l ), T_ID (l ), mode );
862+ TRACE_POSTGRESQL_LWLOCK_ACQUIRE_OR_WAIT_FAIL (T_NAME (l ), T_ID (l ), mode );
863863 }
864864 else
865865 {
866866 /* Add lock to list of locks held by this backend */
867867 held_lwlocks [num_held_lwlocks ++ ] = l ;
868- TRACE_POSTGRESQL_LWLOCK_WAIT_UNTIL_FREE (T_NAME (l ), T_ID (l ), mode );
868+ TRACE_POSTGRESQL_LWLOCK_ACQUIRE_OR_WAIT (T_NAME (l ), T_ID (l ), mode );
869869 }
870870
871871 return !mustwait ;
@@ -897,6 +897,15 @@ LWLockWaitForVar(LWLock *l, uint64 *valptr, uint64 oldval, uint64 *newval)
897897 PGPROC * proc = MyProc ;
898898 int extraWaits = 0 ;
899899 bool result = false;
900+ #ifdef LWLOCK_STATS
901+ lwlock_stats * lwstats ;
902+ #endif
903+
904+ PRINT_LWDEBUG ("LWLockWaitForVar" , lock );
905+
906+ #ifdef LWLOCK_STATS
907+ lwstats = get_lwlock_stats_entry (l );
908+ #endif /* LWLOCK_STATS */
900909
901910 /*
902911 * Quick test first to see if it the slot is free right now.
@@ -986,7 +995,7 @@ LWLockWaitForVar(LWLock *l, uint64 *valptr, uint64 oldval, uint64 *newval)
986995 lwstats -> block_count ++ ;
987996#endif
988997
989- TRACE_POSTGRESQL_LWLOCK_WAIT_START (T_NAME (l ), T_ID (l ), mode );
998+ TRACE_POSTGRESQL_LWLOCK_WAIT_START (T_NAME (l ), T_ID (l ), LW_EXCLUSIVE );
990999
9911000 for (;;)
9921001 {
@@ -997,7 +1006,7 @@ LWLockWaitForVar(LWLock *l, uint64 *valptr, uint64 oldval, uint64 *newval)
9971006 extraWaits ++ ;
9981007 }
9991008
1000- TRACE_POSTGRESQL_LWLOCK_WAIT_DONE (T_NAME (l ), T_ID (l ), mode );
1009+ TRACE_POSTGRESQL_LWLOCK_WAIT_DONE (T_NAME (l ), T_ID (l ), LW_EXCLUSIVE );
10011010
10021011 LOG_LWDEBUG ("LWLockWaitForVar" , T_NAME (l ), T_ID (l ), "awakened" );
10031012
@@ -1007,7 +1016,7 @@ LWLockWaitForVar(LWLock *l, uint64 *valptr, uint64 oldval, uint64 *newval)
10071016 /* We are done updating shared state of the lock itself. */
10081017 SpinLockRelease (& lock -> mutex );
10091018
1010- TRACE_POSTGRESQL_LWLOCK_ACQUIRE (T_NAME (l ), T_ID (l ), mode );
1019+ TRACE_POSTGRESQL_LWLOCK_ACQUIRE (T_NAME (l ), T_ID (l ), LW_EXCLUSIVE );
10111020
10121021 /*
10131022 * Fix the process wait semaphore's count for any absorbed wakeups.
0 commit comments