Use an LWLock instead of a spinlock in waitlsn.c This should prevent busy-waiting when number of waiting processes is high.
Discussion: https://postgr.es/m/202404030658.hhj3vfxeyhft%40alvherre.pgsql Author: Alvaro Herrera Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/25f42429e2ff2acca35c9154fc2e36b75c79227a Modified Files -------------- src/backend/commands/waitlsn.c | 15 +++++++-------- src/backend/utils/activity/wait_event_names.txt | 1 + src/include/commands/waitlsn.h | 5 +---- src/include/storage/lwlocklist.h | 1 + 4 files changed, 10 insertions(+), 12 deletions(-)