aboutsummaryrefslogtreecommitdiff
path: root/src/backend/regex/regexport.c
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2025-01-21 11:30:42 +0900
committerMichael Paquier <michael@paquier.xyz>2025-01-21 11:30:42 +0900
commit4feba03d8b925c4cdda460927611d6b17fb01803 (patch)
treee46af58de4754468de9617dc906bd5770aecc5ea /src/backend/regex/regexport.c
parent28de66cee5f45e2f173fa60dd6867c810ecabe38 (diff)
downloadpostgresql-4feba03d8b925c4cdda460927611d6b17fb01803.tar.gz
postgresql-4feba03d8b925c4cdda460927611d6b17fb01803.zip
Rework handling of pending data for backend statistics
9aea73fc61d4 has added support for backend statistics, relying on PgStat_EntryRef->pending for its data pending for flush. This design lacks in flexibility, because the pending list does some memory allocation, making it unsuitable if incrementing counters in critical sections. Pending data of backend statistics is reworked so the implementation does not depend on PgStat_EntryRef->pending anymore, relying on a static area of memory to store the counters that are flushed when stats are reported to the pgstats dshash. An advantage of this approach is to allow the pending data to be manipulated in critical sections; some patches are under discussion and require that. The pending data is tracked by PendingBackendStats, local to pgstat_backend.c. Two routines are introduced to allow IO statistics to update the backend-side counters. have_static_pending_cb and flush_static_cb are used for the flush, instead of flush_pending_cb. Author: Bertrand Drouvot, Michael Paquier Discussion: https://postgr.es/m/66efowskppsns35v5u2m7k4sdnl7yoz5bo64tdjwq7r5lhplrz@y7dme5xwh2r5
Diffstat (limited to 'src/backend/regex/regexport.c')
0 files changed, 0 insertions, 0 deletions