> On Feb 11, 2026, at 01:39, Heikki Linnakangas <[email protected]> wrote:
> 
> 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<0001-Move-ProcStructLock-to-the-ProcGlobal-struct.patch>

Hi Heikki,

I took a quick review. You moved ProcStructLock into PROC_HDR as freeProcsLock, 
and deleted:
```
ProcStructLock = ShmemInitStruct(...);
SpinLockInit(ProcStructLock);
```

But I don’t see a replacement like SpinLockInit(&ProcGlobal->freeProcsLock);

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/






Reply via email to