diff options
Diffstat (limited to '0504-io-stats-Configure-ios_sample_buf_size-based-on-samp.patch')
-rw-r--r-- | 0504-io-stats-Configure-ios_sample_buf_size-based-on-samp.patch | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/0504-io-stats-Configure-ios_sample_buf_size-based-on-samp.patch b/0504-io-stats-Configure-ios_sample_buf_size-based-on-samp.patch new file mode 100644 index 0000000..21d7f7f --- /dev/null +++ b/0504-io-stats-Configure-ios_sample_buf_size-based-on-samp.patch @@ -0,0 +1,109 @@ +From baa566be8832a56fdea7068d84844ec1ec84d8d9 Mon Sep 17 00:00:00 2001 +From: mohit84 <moagrawa@redhat.com> +Date: Thu, 15 Oct 2020 16:28:58 +0530 +Subject: [PATCH 504/511] io-stats: Configure ios_sample_buf_size based on + sample_interval value (#1574) + +io-stats xlator declares a ios_sample_buf_size 64k object(10M) per xlator +but in case of sample_interval is 0 this big buffer is not required so +declare the default value only while sample_interval is not 0.The new +change would be helpful to reduce RSS size for a brick and shd process +while the number of volumes are huge. + +> Change-Id: I3e82cca92e40549355edfac32580169f3ce51af8 +> Fixes: #1542 +> Signed-off-by: Mohit Agrawal <moagrawa@redhat.com> +> (Cherry picked from commit f71660eb879a9cd5761e5adbf10c783e959a990a) +> (Reviewed on upstream link https://github.com/gluster/glusterfs/issues/1542) + +Change-Id: I3e82cca92e40549355edfac32580169f3ce51af8 +BUG: 1898778 +Signed-off-by: Mohit Agrawal <moagrawa@redhat.com> +Reviewed-on: https://code.engineering.redhat.com/gerrit/221183 +Tested-by: RHGS Build Bot <nigelb@redhat.com> +Reviewed-by: Sunil Kumar Heggodu Gopala Acharya <sheggodu@redhat.com> +--- + tests/bugs/glusterd/daemon-log-level-option.t | 8 ++++---- + xlators/debug/io-stats/src/io-stats.c | 26 ++++++++++++++++++++++---- + 2 files changed, 26 insertions(+), 8 deletions(-) + +diff --git a/tests/bugs/glusterd/daemon-log-level-option.t b/tests/bugs/glusterd/daemon-log-level-option.t +index 66e55e3..5352a63 100644 +--- a/tests/bugs/glusterd/daemon-log-level-option.t ++++ b/tests/bugs/glusterd/daemon-log-level-option.t +@@ -61,8 +61,8 @@ rm -f /var/log/glusterfs/glustershd.log + TEST $CLI volume set all cluster.daemon-log-level WARNING + TEST $CLI volume start $V0 + +-# log should not have any info messages +-EXPECT 0 Info_messages_count "/var/log/glusterfs/glustershd.log" ++# log does have 1 info message specific to configure ios_sample_buf_size in io-stats xlator ++EXPECT 1 Info_messages_count "/var/log/glusterfs/glustershd.log" + + # log should not have any debug messages + EXPECT 0 Debug_messages_count "/var/log/glusterfs/glustershd.log" +@@ -78,8 +78,8 @@ rm -f /var/log/glusterfs/glustershd.log + TEST $CLI volume set all cluster.daemon-log-level ERROR + TEST $CLI volume start $V0 + +-# log should not have any info messages +-EXPECT 0 Info_messages_count "/var/log/glusterfs/glustershd.log" ++# log does have 1 info message specific to configure ios_sample_buf_size in io-stats xlator ++EXPECT 1 Info_messages_count "/var/log/glusterfs/glustershd.log" + + # log should not have any warning messages + EXPECT 0 Warning_messages_count "/var/log/glusterfs/glustershd.log" +diff --git a/xlators/debug/io-stats/src/io-stats.c b/xlators/debug/io-stats/src/io-stats.c +index aa91a0a..9b34895 100644 +--- a/xlators/debug/io-stats/src/io-stats.c ++++ b/xlators/debug/io-stats/src/io-stats.c +@@ -3724,6 +3724,15 @@ xlator_set_loglevel(xlator_t *this, int log_level) + } + } + ++void ++ios_sample_buf_size_configure(char *name, struct ios_conf *conf) ++{ ++ conf->ios_sample_buf_size = 1024; ++ gf_log(name, GF_LOG_INFO, ++ "Configure ios_sample_buf " ++ " size is 1024 because ios_sample_interval is 0"); ++} ++ + int + reconfigure(xlator_t *this, dict_t *options) + { +@@ -3779,8 +3788,13 @@ reconfigure(xlator_t *this, dict_t *options) + int32, out); + GF_OPTION_RECONF("ios-dump-format", dump_format_str, options, str, out); + ios_set_log_format_code(conf, dump_format_str); +- GF_OPTION_RECONF("ios-sample-buf-size", conf->ios_sample_buf_size, options, +- int32, out); ++ if (conf->ios_sample_interval) { ++ GF_OPTION_RECONF("ios-sample-buf-size", conf->ios_sample_buf_size, ++ options, int32, out); ++ } else { ++ ios_sample_buf_size_configure(this->name, conf); ++ } ++ + GF_OPTION_RECONF("sys-log-level", sys_log_str, options, str, out); + if (sys_log_str) { + sys_log_level = glusterd_check_log_level(sys_log_str); +@@ -3947,8 +3961,12 @@ init(xlator_t *this) + GF_OPTION_INIT("ios-dump-format", dump_format_str, str, out); + ios_set_log_format_code(conf, dump_format_str); + +- GF_OPTION_INIT("ios-sample-buf-size", conf->ios_sample_buf_size, int32, +- out); ++ if (conf->ios_sample_interval) { ++ GF_OPTION_INIT("ios-sample-buf-size", conf->ios_sample_buf_size, int32, ++ out); ++ } else { ++ ios_sample_buf_size_configure(this->name, conf); ++ } + + ret = ios_init_sample_buf(conf); + if (ret) { +-- +1.8.3.1 + |