From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755244AbbGFQtk (ORCPT ); Mon, 6 Jul 2015 12:49:40 -0400 Received: from linuxhacker.ru ([217.76.32.60]:53255 "EHLO fiona.linuxhacker.ru" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1755006AbbGFQtd (ORCPT ); Mon, 6 Jul 2015 12:49:33 -0400 From: green@linuxhacker.ru To: Greg Kroah-Hartman , devel@driverdev.osuosl.org, Andreas Dilger Cc: Linux Kernel Mailing List , Oleg Drokin Subject: [PATCH 11/20] staging/lustre/obdclass: Move AT controls from sysctl to sysfs Date: Mon, 6 Jul 2015 12:48:49 -0400 Message-Id: <1436201338-14263-12-git-send-email-green@linuxhacker.ru> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1436201338-14263-1-git-send-email-green@linuxhacker.ru> References: <1436201338-14263-1-git-send-email-green@linuxhacker.ru> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Oleg Drokin Adaptive Timeouts controls are being moved from /proc/sys/lustre to /sys/fs/lustre Signed-off-by: Oleg Drokin --- .../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" +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" -- 2.1.0