From: green@linuxhacker.ru
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
devel@driverdev.osuosl.org,
Andreas Dilger <andreas.dilger@intel.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Oleg Drokin <green@linuxhacker.ru>
Subject: [PATCH 11/20] staging/lustre/obdclass: Move AT controls from sysctl to sysfs
Date: Mon, 6 Jul 2015 12:48:49 -0400 [thread overview]
Message-ID: <1436201338-14263-12-git-send-email-green@linuxhacker.ru> (raw)
In-Reply-To: <1436201338-14263-1-git-send-email-green@linuxhacker.ru>
From: Oleg Drokin <green@linuxhacker.ru>
Adaptive Timeouts controls are being moved from /proc/sys/lustre
to /sys/fs/lustre
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
---
.../lustre/lustre/obdclass/linux/linux-sysctl.c | 45 ++++--------------
drivers/staging/lustre/sysfs-fs-lustre | 53 ++++++++++++++++++++++
2 files changed, 63 insertions(+), 35 deletions(-)
diff --git a/drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c b/drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c
index 6af1cb2..82b3c39 100644
--- a/drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c
+++ b/drivers/staging/lustre/lustre/obdclass/linux/linux-sysctl.c
@@ -138,44 +138,14 @@ LUSTRE_RW_ATTR(max_dirty_mb);
LUSTRE_STATIC_UINT_ATTR(debug_peer_on_timeout, &obd_debug_peer_on_timeout);
LUSTRE_STATIC_UINT_ATTR(dump_on_timeout, &obd_dump_on_timeout);
LUSTRE_STATIC_UINT_ATTR(dump_on_eviction, &obd_dump_on_eviction);
+LUSTRE_STATIC_UINT_ATTR(at_min, &at_min);
+LUSTRE_STATIC_UINT_ATTR(at_max, &at_max);
+LUSTRE_STATIC_UINT_ATTR(at_extra, &at_extra);
+LUSTRE_STATIC_UINT_ATTR(at_early_margin, &at_early_margin);
+LUSTRE_STATIC_UINT_ATTR(at_history, &at_history);
#ifdef CONFIG_SYSCTL
static struct ctl_table obd_table[] = {
- {
- .procname = "at_min",
- .data = &at_min,
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = &proc_dointvec,
- },
- {
- .procname = "at_max",
- .data = &at_max,
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = &proc_dointvec,
- },
- {
- .procname = "at_extra",
- .data = &at_extra,
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = &proc_dointvec,
- },
- {
- .procname = "at_early_margin",
- .data = &at_early_margin,
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = &proc_dointvec,
- },
- {
- .procname = "at_history",
- .data = &at_history,
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = &proc_dointvec,
- },
{}
};
@@ -197,6 +167,11 @@ static struct attribute *lustre_attrs[] = {
&lustre_sattr_debug_peer_on_timeout.u.attr,
&lustre_sattr_dump_on_timeout.u.attr,
&lustre_sattr_dump_on_eviction.u.attr,
+ &lustre_sattr_at_min.u.attr,
+ &lustre_sattr_at_max.u.attr,
+ &lustre_sattr_at_extra.u.attr,
+ &lustre_sattr_at_early_margin.u.attr,
+ &lustre_sattr_at_history.u.attr,
NULL,
};
diff --git a/drivers/staging/lustre/sysfs-fs-lustre b/drivers/staging/lustre/sysfs-fs-lustre
index ea9982b..873e2cf 100644
--- a/drivers/staging/lustre/sysfs-fs-lustre
+++ b/drivers/staging/lustre/sysfs-fs-lustre
@@ -90,6 +90,59 @@ Description:
This is useful if yout debug buffer typically rolls over
by the time you notice the eviction event.
+What: /sys/fs/lustre/at_min
+Date: July 2015
+Contact: "Oleg Drokin" <oleg.drokin@intel.com>
+Description:
+ Controls minimum adaptive timeout in seconds. If you encounter
+ a case where clients timeout due to server-reported processing
+ time being too short, you might consider increasing this value.
+ One common case of this if the underlying network has
+ unpredictable long delays.
+ Default: 0
+
+What: /sys/fs/lustre/at_max
+Date: July 2015
+Contact: "Oleg Drokin" <oleg.drokin@intel.com>
+Description:
+ Controls maximum adaptive timeout in seconds. If at_max timeout
+ is reached for an RPC, the RPC will time out.
+ Some genuinuely slow network hardware might warrant increasing
+ this value.
+ Setting this value to 0 disables Adaptive Timeouts
+ functionality and old-style obd_timeout value is then used.
+ Default: 600
+
+What: /sys/fs/lustre/at_extra
+Date: July 2015
+Contact: "Oleg Drokin" <oleg.drokin@intel.com>
+Description:
+ Controls how much extra time to request for unfinished requests
+ in processing in seconds. Normally a server-side parameter, it
+ is also used on the client for responses to various LDLM ASTs
+ that are handled with a special server thread on the client.
+ This is a way for the servers to ask the clients not to time
+ out the request that reached current servicing time estimate
+ yet and give it some more time.
+ Default: 30
+
+What: /sys/fs/lustre/at_early_margin
+Date: July 2015
+Contact: "Oleg Drokin" <oleg.drokin@intel.com>
+Description:
+ Controls when to send the early reply for requests that are
+ about to timeout as an offset to the estimated service time in
+ seconds..
+ Default: 5
+
+What: /sys/fs/lustre/at_history
+Date: July 2015
+Contact: "Oleg Drokin" <oleg.drokin@intel.com>
+Description:
+ Controls for how many seconds to remember slowest events
+ encountered by adaptive timeouts code.
+ Default: 600
+
What: /sys/fs/lustre/llite/<fsname>-<uuid>/blocksize
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
--
2.1.0
next prev parent reply other threads:[~2015-07-06 16:49 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-06 16:48 [PATCH 00/20] Lustre: final procfs bits removal green
2015-07-06 16:48 ` [PATCH 01/20] staging/lustre/lov: Move target sysfs symlink removal to object freeing green
2015-07-06 16:48 ` [PATCH 02/20] staging/lustre: make ldebugfs_remove recursive green
2015-07-06 16:48 ` [PATCH 03/20] staging/lustre/ldlm: In ldlm_pools_fini make sure there was init first green
2015-07-06 16:48 ` [PATCH 04/20] staging/lustre/obdclass: fix class_procfs_init error return value green
2015-07-06 16:48 ` [PATCH 05/20] staging/lustre: remove alloc_fail_rate sysctl green
2015-07-06 16:48 ` [PATCH 06/20] staging/lustre: Remove now obsolete memory tracking sysctls green
2015-07-06 16:48 ` [PATCH 07/20] staging/lustre: Remove unneeded ldlm_timeout control green
2015-07-06 16:48 ` [PATCH 08/20] staging/lustre/obdclass: move sysctl timeout to sysfs green
2015-07-06 16:48 ` [PATCH 09/20] staging/lustre/obdclass: move max_dirty_mb from sysctl " green
2015-07-06 16:48 ` [PATCH 10/20] staging/lustre/obdclass: move debug controls " green
2015-07-06 16:48 ` green [this message]
2015-07-06 16:48 ` [PATCH 12/20] staging/lustre: Get rid of remaining /proc/sys/lustre plumbing green
2015-07-06 16:48 ` [PATCH 13/20] staging/lustre/libcfs: move /proc/sys/lnet to debugfs green
2015-07-06 16:48 ` [PATCH 14/20] staging/lustre/libcfs: Remove redundant lnet debugfs variables green
2015-07-06 16:48 ` [PATCH 15/20] staging/lustre/libcfs: get rid of debugfs/lnet/console_backoff green
2015-07-08 8:28 ` Dan Carpenter
2015-07-08 8:30 ` Dan Carpenter
2015-07-08 13:43 ` Oleg Drokin
2015-07-06 16:48 ` [PATCH 16/20] staging/lustre/libcfs: Remove redundant enums and sysctl moduleparams green
2015-07-06 16:48 ` [PATCH 17/20] staging/lustre/libcfs: Remove unneeded lnet watchdog_ratelimit sysctl green
2015-07-06 16:48 ` [PATCH 18/20] staging/lustre/libcfs: get rid of debugfs/lnet/debug_mb green
2015-07-08 8:45 ` Dan Carpenter
2015-07-14 2:43 ` Greg Kroah-Hartman
2015-07-14 2:45 ` Oleg Drokin
2015-07-14 3:04 ` Greg Kroah-Hartman
2015-07-14 2:46 ` Greg Kroah-Hartman
2015-07-14 2:51 ` Oleg Drokin
2015-07-14 3:52 ` Greg Kroah-Hartman
2015-07-14 2:49 ` Greg Kroah-Hartman
2015-07-14 2:52 ` Oleg Drokin
2015-07-06 16:48 ` [PATCH 19/20] staging/lustre/libcfs: get rid of debugfs/lnet/console_{min,max}_delay_centisecs green
2015-07-06 16:48 ` [PATCH 20/20] staging/lustre/libcfs: remove unused portal_enter_debugger variable green
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1436201338-14263-12-git-send-email-green@linuxhacker.ru \
--to=green@linuxhacker.ru \
--cc=andreas.dilger@intel.com \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox