> 21 дек. 2021 г., в 10:23, Yura Sokolov <y.soko...@postgrespro.ru> написал(а):
>
> <v1-0001-bufmgr-do-not-acquire-two-partition-lo.patch>
Hi Yura!
I've took a look into the patch. The idea seems reasonable to me:
clearing\evicting old buffer and placing new one seem to be different units of
work, there is no need to couple both partition locks together. And the claimed
performance impact is fascinating! Though I didn't verify it yet.
On a first glance API change in BufTable does not seem obvious to me. Is void
*oldelem actually BufferTag * or maybe BufferLookupEnt *? What if we would like
to use or manipulate with oldelem in future?
And the name BufTableFreeDeleted() confuses me a bit. You know, in C we usually
free(), but in C++ we delete [], and here we do both... Just to be sure.
Thanks!
Best regards, Andrey Borodin.