pgsql: Fix latch event policy that hid socket events.

From: Thomas Munro <tmunro(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix latch event policy that hid socket events.
Date: 2025-01-20 04:00:39
Message-ID: E1tZixr-002Ubm-4s@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix latch event policy that hid socket events.

If a WaitEventSetWait() caller asks for multiple events, an already set
latch would previously prevent other events from being reported at the
same time. Now, we'll also poll the kernel for other events that would
fit in the caller's output buffer with a zero wait time. This policy
change doesn't affect callers that ask for only one event.

The main caller affected is the postmaster. If its latch is set
extremely frequently by backends launching workers and workers exiting,
we don't want it to handle only those jobs and ignore incoming client
connections.

Back-patch to 16 where the postmaster began using the API. The
fast-return policy changed here is older than that, but doesn't cause
any known problems in earlier releases.

Reported-by: Nathan Bossart <nathandbossart(at)gmail(dot)com>
Reviewed-by: Nathan Bossart <nathandbossart(at)gmail(dot)com>
Discussion: https://postgr.es/m/Z1n5UpAiGDmFcMmd%40nathan

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/73f6b9a3b0fe161cd3d35b1e3109cd47864a4b33

Modified Files
--------------
src/backend/storage/ipc/latch.c | 35 +++++++++++++++++++++--------------
1 file changed, 21 insertions(+), 14 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Thomas Munro 2025-01-20 04:00:47 pgsql: Fix latch event policy that hid socket events.
Previous Message Michael Paquier 2025-01-20 00:31:07 pgsql: Fix header check for continuation records where standbys could b