Re: MultiXact\SLRU buffers configuration

Kyotaro Horiguchi <horikyota.ntt@gmail.com>

From: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
To: x4mmm@yandex-team.ru
Cc: alvherre@alvh.no-ip.org, vignesh21@gmail.com, amborodin86@gmail.com, i.lazarev@postgrespro.ru, y.sokolov@postgrespro.ru, andres@anarazel.de, thomas.munro@gmail.com, gilles@darold.net, tomas.vondra@enterprisedb.com, tomas.vondra@2ndquadrant.com, aekorotkov@gmail.com, a.lubennikova@postgrespro.ru, daniel@yesql.se, pgsql-hackers@postgresql.org
Date: 2024-02-29T01:59:44Z
Lists: pgsql-hackers
At Sat, 3 Feb 2024 22:32:45 +0500, "Andrey M. Borodin" <x4mmm@yandex-team.ru> wrote in 
> Here's the test draft. This test reliably reproduces sleep on CV when waiting next multixact to be filled into "members" SLRU.

By the way, I raised a question about using multiple CVs
simultaneously [1]. That is, I suspect that the current CV
implementation doesn't allow us to use multiple condition variables at
the same time, because all CVs use the same PCPROC member cvWaitLink
to accommodate different waiter sets. If this assumption is correct,
we should resolve the issue before spreading more uses of CVs.

[1] https://www.postgresql.org/message-id/20240227.150709.1766217736683815840.horikyota.ntt%40gmail.com

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



Commits

  1. Rework new SLRU test with injection points

  2. injection_point: Add injection_points.stats

  3. injection_points: Add initialization of shmem state when loading module

  4. Add injection-point test for new multixact CV usage

  5. Use conditional variable to wait for next MultiXact offset

  6. Improve performance of subsystems on top of SLRU

  7. Adjust VACUUM hastup LP_REDIRECT comments.

  8. Test replay of regression tests, attempt II.