Allocate separate DSM chunk for parallel Index[Only]Scan instrumentation
Melanie Plageman <melanieplageman@gmail.com>
Author:
Melanie Plageman <melanieplageman@gmail.com>
Date: 2026-04-06T23:10:19Z
Releases:
19 (unreleased)
Allocate separate DSM chunk for parallel Index[Only]Scan instrumentation Previously, parallel index and index-only scans packed the parallel scan descriptor and shared instrumentation (for EXPLAIN ANALYZE) into a single DSM allocation. Since scans may be instrumented without being parallel-aware, and vice versa, using separate DSM chunks -- each with its own TOC key -- is cleaner. A future commit will extend this pattern to other scan node types. Author: Melanie Plageman <melanieplageman@gmail.com> Reviewed-by: Tomas Vondra <tomas@vondra.me> Discussion: https://postgr.es/m/flat/a177a6dd-240b-455a-8f25-aca0b1c08c6e%40vondra.me
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/index/indexam.c | modified | +6 −45 |
| src/backend/executor/execParallel.c | modified | +30 −10 |
| src/backend/executor/nodeBitmapIndexscan.c | modified | +7 −2 |
| src/backend/executor/nodeIndexonlyscan.c | modified | +69 −45 |
| src/backend/executor/nodeIndexscan.c | modified | +69 −45 |
| src/include/access/genam.h | modified | +1 −6 |
| src/include/access/relscan.h | modified | +0 −1 |
| src/include/executor/instrument_node.h | modified | +8 −0 |
| src/include/executor/nodeIndexonlyscan.h | modified | +6 −0 |
| src/include/executor/nodeIndexscan.h | modified | +6 −0 |
Discussion
Cited messages not in the archive:
flat/a177a6dd-240b-455a-8f25-aca0b1c08c6e@vondra.me