aboutsummaryrefslogtreecommitdiff
path: root/src/backend/storage/buffer/bufmgr.c
diff options
context:
space:
mode:
authorThomas Munro <tmunro@postgresql.org>2020-03-16 12:31:34 +1300
committerThomas Munro <tmunro@postgresql.org>2020-03-16 17:14:26 +1300
commitfc34b0d9de27ab5ac2887da00b3892bdabd89e45 (patch)
treebfa65c51892f19538b6e7e53633654ddce5eb989 /src/backend/storage/buffer/bufmgr.c
parentb09ff53667ffc986371ec8ffa372916ad460220d (diff)
downloadpostgresql-fc34b0d9de27ab5ac2887da00b3892bdabd89e45.tar.gz
postgresql-fc34b0d9de27ab5ac2887da00b3892bdabd89e45.zip
Introduce a maintenance_io_concurrency setting.
Introduce a GUC and a tablespace option to control I/O prefetching, much like effective_io_concurrency, but for work that is done on behalf of many client sessions. Use the new setting in heapam.c instead of the hard-coded formula effective_io_concurrency + 10 introduced by commit 558a9165e08. Go with a default value of 10 for now, because it's a round number pretty close to the value used for that existing case. Discussion: https://postgr.es/m/CA%2BhUKGJUw08dPs_3EUcdO6M90GnjofPYrWp4YSLaBkgYwS-AqA%40mail.gmail.com
Diffstat (limited to 'src/backend/storage/buffer/bufmgr.c')
-rw-r--r--src/backend/storage/buffer/bufmgr.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c
index 7a7748b6955..e05e2b34565 100644
--- a/src/backend/storage/buffer/bufmgr.c
+++ b/src/backend/storage/buffer/bufmgr.c
@@ -120,6 +120,13 @@ bool track_io_timing = false;
int effective_io_concurrency = 0;
/*
+ * Like effective_io_concurrency, but used by maintenance code paths that might
+ * benefit from a higher setting because they work on behalf of many sessions.
+ * Overridden by the tablespace setting of the same name.
+ */
+int maintenance_io_concurrency = 0;
+
+/*
* GUC variables about triggering kernel writeback for buffers written; OS
* dependent defaults are set via the GUC mechanism.
*/