staging/lustre/obdclass: Move AT controls from sysctl to sysfs

Adaptive Timeouts controls are being moved from /proc/sys/lustre
to /sys/fs/lustre

Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Oleg Drokin 2015-07-06 12:48:49 -04:00 committed by Greg Kroah-Hartman
parent 9e7fa14935
commit bcef118e7e
2 changed files with 63 additions and 35 deletions

View file

@ -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(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_timeout, &obd_dump_on_timeout);
LUSTRE_STATIC_UINT_ATTR(dump_on_eviction, &obd_dump_on_eviction); 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 #ifdef CONFIG_SYSCTL
static struct ctl_table obd_table[] = { 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_debug_peer_on_timeout.u.attr,
&lustre_sattr_dump_on_timeout.u.attr, &lustre_sattr_dump_on_timeout.u.attr,
&lustre_sattr_dump_on_eviction.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, NULL,
}; };

View file

@ -90,6 +90,59 @@ Description:
This is useful if yout debug buffer typically rolls over This is useful if yout debug buffer typically rolls over
by the time you notice the eviction event. 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 What: /sys/fs/lustre/llite/<fsname>-<uuid>/blocksize
Date: May 2015 Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com> Contact: "Oleg Drokin" <oleg.drokin@intel.com>