Howdy -- Not to beat on a dead horse, or anything, but this fix was frowned upon because in one environment (one socket) it was 6% down and over 15% up in the right environment (two sockets).
So, why not add a configuration parameter which specifies the number of parts? Default is 1 which would be "exactly" the same as no parts and hence no degradation in the single socket environment -- and with 2, you get some positive performance. Jim ----- Forwarded by Jim Van Fleet/Austin/Contr/IBM on 09/21/2017 03:37 PM ----- pgsql-hackers-ow...@postgresql.org wrote on 06/09/2017 01:39:35 PM: > From: "Jim Van Fleet" <vanfl...@us.ibm.com> > To: "Pgsql Hackers" <pgsql-hackers@postgresql.org> > Date: 06/09/2017 01:41 PM > Subject: [HACKERS] HACKERS[PATCH] split ProcArrayLock into multiple parts > Sent by: pgsql-hackers-ow...@postgresql.org > > I left out the retry in LWLockAcquire. > > [attachment "ProcArrayLock_part.patch" deleted by Jim Van Fleet/ > Austin/Contr/IBM] > -- > Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-hackers