On Thu, Mar 27, 2025 at 10:41 AM Andres Freund <and...@anarazel.de> wrote: > > > Subject: [PATCH v2.12 13/28] Enable IO concurrency on all systems > > > > Consider also updating this comment to stop focusing on prefetch; I think > > changing that aligns with the patch's other changes: > > > > /* > > * How many buffers PrefetchBuffer callers should try to stay ahead of their > > * ReadBuffer calls by. Zero means "never prefetch". This value is only > > used > > * for buffers not belonging to tablespaces that have their > > * effective_io_concurrency parameter set. > > */ > > int effective_io_concurrency = > > DEFAULT_EFFECTIVE_IO_CONCURRENCY; > > Good point. Although I suspect it might be worth adjusting this, and also the > config.sgml bit about effective_io_concurrency separately. That seems like it > might take an iteration or two.
+1 for rewriting that separately from this work on the code (I can have a crack at that if you want). For the comment, my suggestion would be something like: "Default limit on the level of concurrency that each I/O stream (currently, ReadStream but in future other kinds of streams) can use. Zero means that I/O is always performed synchronously, ie not concurrently with query execution. This value can be overridden at the tablespace level with the parameter of the same name. Note that streams performing I/O not classified as single-session work respect maintenance_io_concurrency instead."