Little cleanup: Move ProcStructLock to the ProcGlobal struct - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Little cleanup: Move ProcStructLock to the ProcGlobal struct
Date
Msg-id b78719db-0c54-409f-b185-b0d59261143f@iki.fi
Whole thread Raw
Responses Re: Little cleanup: Move ProcStructLock to the ProcGlobal struct
List pgsql-hackers
For some reason, the ProcStructLock spinlock is allocated in a shared 
memory area of its own:

     /* Create ProcStructLock spinlock, too */
     ProcStructLock = (slock_t *) ShmemInitStruct("ProcStructLock spinlock",
                                                  sizeof(slock_t),
                                                  &found);
     SpinLockInit(ProcStructLock);

I believe that's just for historical reasons. A long long time ago, 
spinlocks had to be allocated separately rather than embedded in other 
structs.

The spinlock protects the freeProcs list and some other fields in 
ProcGlobal, so let's put it together with those fields. It's good for 
cache locality to have it next to the thing it protects, and just makes 
more sense anyway.

Any objections?

- Heikki
Attachment

pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: PGPROC alignment (was Re: pgsql: Separate RecoveryConflictReasons from procsignals)
Next
From: Pierre Ducroquet
Date:
Subject: llvmjit - improve code generated in O0