Hi, On 2025-03-27 10:52:10 +1300, Thomas Munro wrote: > 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).
You taking a crack at that would be appreciated! > 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." Generally sounds good. I do wonder if the last sentence could be made a bit simpler, it took me a few seconds to parse "not classified as single-session". Maybe "classified as performing work for multiple sessions respect maintenance_io_concurrency instead."? Greetings, Andres Freund