diff options
author | Raghavendra Gowdappa <rgowdapp@redhat.com> | 2018-12-14 11:27:33 +0530 |
---|---|---|
committer | Amar Tumballi <amarts@redhat.com> | 2018-12-18 09:12:27 +0000 |
commit | 51ff065b8b9d2117688053cddb29186e3135c4a1 (patch) | |
tree | 1b2c1f659c5d90144247f1fd5f2d634fa27a2d3a | |
parent | f9859218da827eac5b2102673e7a89497228e672 (diff) |
performance/ob: make open-behind as a child of quick-read
With read-after-open being set to yes by default, if open-behind sees
any reads, it'll do an open on backend (and hence flush/release
later). This means with the current order of quick-read and
open-behind, open-behind sees all reads and hence also does open
bringing down performance for small file reads.
Since for small files, reads are absorbed by quick-read, if quick-read
is made a parent of open-behind, ob doesn't witness any reads. For
read-only workloads, this means ob doen't do any opens (even with
read-after-open yes and use-anonymous-fd no).
Change-Id: I138a42b006d104cff43ee6f07829e39c36f6f234
Signed-off-by: Raghavendra Gowdappa <rgowdapp@redhat.com>
Fixes: bz#1659327
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-volume-set.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-set.c b/xlators/mgmt/glusterd/src/glusterd-volume-set.c index 755c13ed29a..fd5a8227c6b 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volume-set.c +++ b/xlators/mgmt/glusterd/src/glusterd-volume-set.c @@ -1701,15 +1701,6 @@ struct volopt_map_entry glusterd_volopt_map[] = { .op_version = 1, .description = "enable/disable io-cache translator in the volume.", .flags = VOLOPT_FLAG_CLIENT_OPT}, - {.key = "performance.quick-read", - .voltype = "performance/quick-read", - .option = "!perf", - .value = "on", - .op_version = 1, - .description = "enable/disable quick-read translator in the volume.", - .flags = VOLOPT_FLAG_CLIENT_OPT | VOLOPT_FLAG_XLATOR_OPT - - }, {.key = "performance.open-behind", .voltype = "performance/open-behind", .option = "!perf", @@ -1719,6 +1710,13 @@ struct volopt_map_entry glusterd_volopt_map[] = { .flags = VOLOPT_FLAG_CLIENT_OPT | VOLOPT_FLAG_XLATOR_OPT }, + {.key = "performance.quick-read", + .voltype = "performance/quick-read", + .option = "!perf", + .value = "on", + .op_version = 1, + .description = "enable/disable quick-read translator in the volume.", + .flags = VOLOPT_FLAG_CLIENT_OPT | VOLOPT_FLAG_XLATOR_OPT}, {.key = "performance.nl-cache", .voltype = "performance/nl-cache", .option = "!perf", |