From: | Fujii Masao <fujii(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Refactor GetLockStatusData() to skip backends/groups without fas |
Date: | 2024-10-24 15:21:39 |
Message-ID: | E1t3zed-002FIv-VW@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Refactor GetLockStatusData() to skip backends/groups without fast-path locks.
Previously, GetLockStatusData() checked all slots for every backend
to gather fast-path lock data, which could be inefficient. This commit
refactors it by skipping backends with PID=0 (since they don't hold
fast-path locks) and skipping groups with no registered fast-path locks,
improving efficiency.
This refactoring is particularly beneficial, for example when
max_connections and max_locks_per_transaction are set high,
as it reduces unnecessary checks across numerous slots.
Author: Fujii Masao
Reviewed-by: Bertrand Drouvot
Discussion: https://postgr.es/m/a0a00c44-31e9-4c67-9846-fb9636213ac9@oss.nttdata.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/86c30cef4a4cae951b2c30f1790fd5a7b81a2946
Modified Files
--------------
src/backend/storage/lmgr/lock.c | 67 ++++++++++++++++++++++++-----------------
1 file changed, 39 insertions(+), 28 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Noah Misch | 2024-10-24 16:20:26 | pgsql: Stop reading uninitialized memory in heap_inplace_lock(). |
Previous Message | Daniel Gustafsson | 2024-10-24 13:38:04 | pgsql: Support configuring TLSv1.3 cipher suites |