@@ -859,13 +859,13 @@ LWLockAcquireOrWait(LWLock *l, LWLockMode mode)
859859/* Failed to get lock, so release interrupt holdoff */
860860RESUME_INTERRUPTS ();
861861LOG_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}
864864else
865865{
866866/* Add lock to list of locks held by this backend */
867867held_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
871871return !mustwait ;
@@ -897,6 +897,15 @@ LWLockWaitForVar(LWLock *l, uint64 *valptr, uint64 oldval, uint64 *newval)
897897PGPROC * proc = MyProc ;
898898int extraWaits = 0 ;
899899bool 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)
986995lwstats -> 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
9911000for (;;)
9921001{
@@ -997,7 +1006,7 @@ LWLockWaitForVar(LWLock *l, uint64 *valptr, uint64 oldval, uint64 *newval)
9971006extraWaits ++ ;
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
10021011LOG_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. */
10081017SpinLockRelease (& 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.