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>,
Lustre Development List <lustre-devel@lists.lustre.org>,
Oleg Drokin <green@linuxhacker.ru>
Subject: [PATCH 03/29] staging/lustre/ptlrpc: Remove server-specific health checks
Date: Mon, 28 Sep 2015 23:43:46 -0400 [thread overview]
Message-ID: <1443498252-1974801-4-git-send-email-green@linuxhacker.ru> (raw)
In-Reply-To: <1443498252-1974801-1-git-send-email-green@linuxhacker.ru>
From: Oleg Drokin <green@linuxhacker.ru>
ptlrpc_service_health_check is only used on a service, so
it makes no point to retain it in the client code.
Also removing it's helpers: ptlrpc_svcpt_health_check and
ptlrpc_nrs_req_peek_nolock
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
---
drivers/staging/lustre/lustre/include/lustre_net.h | 1 -
.../staging/lustre/lustre/ptlrpc/ptlrpc_internal.h | 6 ---
drivers/staging/lustre/lustre/ptlrpc/service.c | 58 ----------------------
3 files changed, 65 deletions(-)
diff --git a/drivers/staging/lustre/lustre/include/lustre_net.h b/drivers/staging/lustre/lustre/include/lustre_net.h
index e929c93..a928631 100644
--- a/drivers/staging/lustre/lustre/include/lustre_net.h
+++ b/drivers/staging/lustre/lustre/include/lustre_net.h
@@ -2541,7 +2541,6 @@ int ptlrpc_start_threads(struct ptlrpc_service *svc);
int ptlrpc_unregister_service(struct ptlrpc_service *service);
int liblustre_check_services(void *arg);
void ptlrpc_daemonize(char *name);
-int ptlrpc_service_health_check(struct ptlrpc_service *);
void ptlrpc_server_drop_request(struct ptlrpc_request *req);
void ptlrpc_request_change_export(struct ptlrpc_request *req,
struct obd_export *export);
diff --git a/drivers/staging/lustre/lustre/ptlrpc/ptlrpc_internal.h b/drivers/staging/lustre/lustre/ptlrpc/ptlrpc_internal.h
index 059ad96b..a3608a9 100644
--- a/drivers/staging/lustre/lustre/ptlrpc/ptlrpc_internal.h
+++ b/drivers/staging/lustre/lustre/ptlrpc/ptlrpc_internal.h
@@ -137,12 +137,6 @@ ptlrpc_nrs_req_get_nolock(struct ptlrpc_service_part *svcpt, bool hp,
return ptlrpc_nrs_req_get_nolock0(svcpt, hp, false, force);
}
-static inline struct ptlrpc_request *
-ptlrpc_nrs_req_peek_nolock(struct ptlrpc_service_part *svcpt, bool hp)
-{
- return ptlrpc_nrs_req_get_nolock0(svcpt, hp, true, false);
-}
-
void ptlrpc_nrs_req_del_nolock(struct ptlrpc_request *req);
bool ptlrpc_nrs_req_pending_nolock(struct ptlrpc_service_part *svcpt, bool hp);
diff --git a/drivers/staging/lustre/lustre/ptlrpc/service.c b/drivers/staging/lustre/lustre/ptlrpc/service.c
index 326f89e..cdc7e62 100644
--- a/drivers/staging/lustre/lustre/ptlrpc/service.c
+++ b/drivers/staging/lustre/lustre/ptlrpc/service.c
@@ -2977,61 +2977,3 @@ int ptlrpc_unregister_service(struct ptlrpc_service *service)
return 0;
}
EXPORT_SYMBOL(ptlrpc_unregister_service);
-
-/**
- * Returns 0 if the service is healthy.
- *
- * Right now, it just checks to make sure that requests aren't languishing
- * in the queue. We'll use this health check to govern whether a node needs
- * to be shot, so it's intentionally non-aggressive. */
-static int ptlrpc_svcpt_health_check(struct ptlrpc_service_part *svcpt)
-{
- struct ptlrpc_request *request = NULL;
- struct timespec64 right_now;
- struct timespec64 timediff;
-
- ktime_get_real_ts64(&right_now);
-
- spin_lock(&svcpt->scp_req_lock);
- /* How long has the next entry been waiting? */
- if (ptlrpc_server_high_pending(svcpt, true))
- request = ptlrpc_nrs_req_peek_nolock(svcpt, true);
- else if (ptlrpc_server_normal_pending(svcpt, true))
- request = ptlrpc_nrs_req_peek_nolock(svcpt, false);
-
- if (request == NULL) {
- spin_unlock(&svcpt->scp_req_lock);
- return 0;
- }
-
- timediff = timespec64_sub(right_now, request->rq_arrival_time);
- spin_unlock(&svcpt->scp_req_lock);
-
- if ((timediff.tv_sec) >
- (AT_OFF ? obd_timeout * 3 / 2 : at_max)) {
- CERROR("%s: unhealthy - request has been waiting %llds\n",
- svcpt->scp_service->srv_name, (s64)timediff.tv_sec);
- return -1;
- }
-
- return 0;
-}
-
-int
-ptlrpc_service_health_check(struct ptlrpc_service *svc)
-{
- struct ptlrpc_service_part *svcpt;
- int i;
-
- if (svc == NULL)
- return 0;
-
- ptlrpc_service_for_each_part(svcpt, i, svc) {
- int rc = ptlrpc_svcpt_health_check(svcpt);
-
- if (rc != 0)
- return rc;
- }
- return 0;
-}
-EXPORT_SYMBOL(ptlrpc_service_health_check);
--
2.1.0
next prev parent reply other threads:[~2015-09-29 3:52 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-29 3:43 [PATCH 00/29] Removal of unused Lustre code green
2015-09-29 3:43 ` [PATCH 01/29] staging/lustre: Remove unused target_print_req() green
2015-09-29 3:43 ` [PATCH 02/29] staging/lustre: Remove unused lustre_acl_xattr_merge2posix() green
2015-09-29 3:43 ` green [this message]
2015-09-29 3:43 ` [PATCH 04/29] staging/lustre: Remove unused req_capsule_server_grow green
2015-09-29 3:43 ` [PATCH 05/29] staging/lustre: Remove unused reply state batches code green
2015-09-29 3:43 ` [PATCH 06/29] staging/lustre: Remove high-priority request callbacks green
2015-09-29 3:43 ` [PATCH 07/29] staging/lustre: Remove unused statfs_pack() green
2015-09-29 3:43 ` [PATCH 08/29] staging/lustre: Remove unused ptlrpcd_add_rqset() green
2015-09-29 3:43 ` [PATCH 09/29] staging/lustre: Remove unused functions and definitions from cl_object green
2015-09-29 3:43 ` [PATCH 10/29] staging/lustre: Remove unused lu_object functions green
2015-09-29 3:43 ` [PATCH 11/29] staging/lustre/ldlm: Remove unused round_timeout function green
2015-09-29 3:43 ` [PATCH 12/29] staging/lustre/obdclass: Remove unused functions from genops.c green
2015-09-29 3:43 ` [PATCH 13/29] staging/lustre: Remove unused function class_handle_hash_back() green
2015-09-29 3:43 ` [PATCH 14/29] staging/lustre: Remove unused function server_name2svname() green
2015-09-29 3:43 ` [PATCH 15/29] staging/lustre/obdclass: Drop unused code from obdo.c green
2015-09-29 3:43 ` [PATCH 16/29] staging/lustre/ptlrpc: Drop unused client code green
2015-09-29 3:44 ` [PATCH 17/29] staging/lustre/ptlrpc: secure wrapping code cleanup green
2015-09-29 3:44 ` [PATCH 18/29] staging/lustre: Drop unused obdo_from_la() and la_from_obdo() green
2015-09-29 3:44 ` [PATCH 19/29] staging/lustre: remove lots of dead code green
2015-09-29 3:44 ` [PATCH 20/29] staging/lustre/fid: Remove server fid function declarations green
2015-09-29 3:44 ` [PATCH 21/29] staging/lustre/fid: seq_client_init/fini don't need to be exported green
2015-09-29 3:44 ` [PATCH 22/29] staging/lustre/fid: Remove unused seq_client_get_seq function green
2015-09-29 3:44 ` [PATCH 23/29] staging/lustre/fid: Get rid of lcs_srv in lu_client_seq green
2015-09-29 3:44 ` [PATCH 24/29] staging/lustre/fid: Remove unused struct lu_server_seq green
2015-09-29 3:44 ` [PATCH 25/29] staging/lustre/obdclass: Remove unused nid_hash green
2015-09-29 3:44 ` [PATCH 26/29] staging/lustre: Remove server-only recovery-related bits green
2015-09-29 3:44 ` [PATCH 27/29] staging/lustre: Remove ccc_attr/conf_set() green
2015-09-29 3:44 ` [PATCH 28/29] staging/lustre: Remove unused ccc_io_fini() green
2015-09-29 3:44 ` [PATCH 29/29] staging/lustre: Remove ccc_transient_page_* methods 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=1443498252-1974801-4-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 \
--cc=lustre-devel@lists.lustre.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
Powered by JetHome