From bcef118e7ed67e28edcaab9be9ca11412176c540 Mon Sep 17 00:00:00 2001 From: Oleg Drokin Date: Mon, 6 Jul 2015 12:48:49 -0400 Subject: [PATCH] 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 Signed-off-by: Greg Kroah-Hartman --- .../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 6af1cb2cb386..82b3c39214b0 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 ea9982bae85d..873e2cf31217 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" +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" +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" +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" +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" +Description: + Controls for how many seconds to remember slowest events + encountered by adaptive timeouts code. + Default: 600 + What: /sys/fs/lustre/llite/-/blocksize Date: May 2015 Contact: "Oleg Drokin"