diff options
author | Thomas Munro <tmunro@postgresql.org> | 2020-03-16 12:31:34 +1300 |
---|---|---|
committer | Thomas Munro <tmunro@postgresql.org> | 2020-03-16 17:14:26 +1300 |
commit | fc34b0d9de27ab5ac2887da00b3892bdabd89e45 (patch) | |
tree | bfa65c51892f19538b6e7e53633654ddce5eb989 /src/backend/utils/cache/spccache.c | |
parent | b09ff53667ffc986371ec8ffa372916ad460220d (diff) |
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/utils/cache/spccache.c')
-rw-r--r-- | src/backend/utils/cache/spccache.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/backend/utils/cache/spccache.c b/src/backend/utils/cache/spccache.c index c4a0f719fb5..e0c3c1b1c11 100644 --- a/src/backend/utils/cache/spccache.c +++ b/src/backend/utils/cache/spccache.c @@ -221,3 +221,17 @@ get_tablespace_io_concurrency(Oid spcid) else return spc->opts->effective_io_concurrency; } + +/* + * get_tablespace_maintenance_io_concurrency + */ +int +get_tablespace_maintenance_io_concurrency(Oid spcid) +{ + TableSpaceCacheEntry *spc = get_tablespace(spcid); + + if (!spc->opts || spc->opts->maintenance_io_concurrency < 0) + return maintenance_io_concurrency; + else + return spc->opts->maintenance_io_concurrency; +} |