Use macros for calculating LWLock offset - Mailing list pgsql-hackers

From japin
Subject Use macros for calculating LWLock offset
Date
Msg-id MEYP282MB1669FB410006758402F2C3A2B6E00@MEYP282MB1669.AUSP282.PROD.OUTLOOK.COM
Whole thread Raw
Responses Re: Use macros for calculating LWLock offset
List pgsql-hackers
Hi,

In the lwlock.c, InitializeLWLocks() calculate the LWLock offset by 
itself (c319991bcad),
however, there are macros defined in lwlock.h, I think, we can use the 
macros.

diff --git a/src/backend/storage/lmgr/lwlock.c 
b/src/backend/storage/lmgr/lwlock.c
index 2fa90cc095..108e652179 100644
--- a/src/backend/storage/lmgr/lwlock.c
+++ b/src/backend/storage/lmgr/lwlock.c
@@ -525,18 +525,17 @@ InitializeLWLocks(void)
                 LWLockInitialize(&lock->lock, id);

         /* Initialize buffer mapping LWLocks in main array */
-       lock = MainLWLockArray + NUM_INDIVIDUAL_LWLOCKS;
+       lock = MainLWLockArray + BUFFER_MAPPING_LWLOCK_OFFSET;
         for (id = 0; id < NUM_BUFFER_PARTITIONS; id++, lock++)
                 LWLockInitialize(&lock->lock, LWTRANCHE_BUFFER_MAPPING);

         /* Initialize lmgrs' LWLocks in main array */
-       lock = MainLWLockArray + NUM_INDIVIDUAL_LWLOCKS + 
NUM_BUFFER_PARTITIONS;
+       lock = MainLWLockArray + LOCK_MANAGER_LWLOCK_OFFSET;
         for (id = 0; id < NUM_LOCK_PARTITIONS; id++, lock++)
                 LWLockInitialize(&lock->lock, LWTRANCHE_LOCK_MANAGER);

         /* Initialize predicate lmgrs' LWLocks in main array */
-       lock = MainLWLockArray + NUM_INDIVIDUAL_LWLOCKS +
-               NUM_BUFFER_PARTITIONS + NUM_LOCK_PARTITIONS;
+       lock = MainLWLockArray + PREDICATELOCK_MANAGER_LWLOCK_OFFSET;
         for (id = 0; id < NUM_PREDICATELOCK_PARTITIONS; id++, lock++)
                 LWLockInitialize(&lock->lock, 
LWTRANCHE_PREDICATE_LOCK_MANAGER);


--
Best regards
Japin Li

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Is postgres ready for 2038?
Next
From: Laurenz Albe
Date:
Subject: Re: Disable WAL logging to speed up data loading