Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
With 1.6 heading towards maintenance mode, use a dedicated branch of the
[fs/lustre-release.git]
/
lustre
/
ptlrpc
/
lproc_ptlrpc.c
diff --git
a/lustre/ptlrpc/lproc_ptlrpc.c
b/lustre/ptlrpc/lproc_ptlrpc.c
index
29b805c
..
d217c62
100644
(file)
--- a/
lustre/ptlrpc/lproc_ptlrpc.c
+++ b/
lustre/ptlrpc/lproc_ptlrpc.c
@@
-117,13
+117,13
@@
struct ll_rpc_opcode {
{ LLOG_CATINFO, "llog_catinfo" },
{ LLOG_ORIGIN_HANDLE_PREV_BLOCK, "llog_origin_handle_prev_block" },
{ LLOG_ORIGIN_HANDLE_DESTROY, "llog_origin_handle_destroy" },
- { FLD_QUERY, "fld_query" },
+ { QUOTA_DQACQ, "quota_acquire" },
+ { QUOTA_DQREL, "quota_release" },
{ SEQ_QUERY, "seq_query" },
{ SEC_CTX_INIT, "sec_ctx_init" },
{ SEC_CTX_INIT_CONT,"sec_ctx_init_cont" },
{ SEC_CTX_FINI, "sec_ctx_fini" },
- { QUOTA_DQACQ, "quota_acquire" },
- { QUOTA_DQREL, "quota_release" }
+ { FLD_QUERY, "fld_query" }
};
struct ll_eopcode {
@@
-514,6
+514,32
@@
static int ptlrpc_lprocfs_rd_timeouts(char *page, char **start, off_t off,
return rc;
}
+static int ptlrpc_lprocfs_rd_hp_ratio(char *page, char **start, off_t off,
+ int count, int *eof, void *data)
+{
+ struct ptlrpc_service *svc = data;
+ int rc = snprintf(page, count, "%d", svc->srv_hpreq_ratio);
+ return rc;
+}
+
+static int ptlrpc_lprocfs_wr_hp_ratio(struct file *file, const char *buffer,
+ unsigned long count, void *data)
+{
+ struct ptlrpc_service *svc = data;
+ int rc, val;
+
+ rc = lprocfs_write_helper(buffer, count, &val);
+ if (rc < 0)
+ return rc;
+ if (val < 0)
+ return -ERANGE;
+
+ spin_lock(&svc->srv_lock);
+ svc->srv_hpreq_ratio = val;
+ spin_unlock(&svc->srv_lock);
+ return count;
+}
+
void ptlrpc_lprocfs_register_service(struct proc_dir_entry *entry,
struct ptlrpc_service *svc)
{
@@
-529,6
+555,10
@@
void ptlrpc_lprocfs_register_service(struct proc_dir_entry *entry,
{.name = "timeouts",
.read_fptr = ptlrpc_lprocfs_rd_timeouts,
.data = svc},
+ {.name = "high_priority_ratio",
+ .read_fptr = ptlrpc_lprocfs_rd_hp_ratio,
+ .write_fptr = ptlrpc_lprocfs_wr_hp_ratio,
+ .data = svc},
{NULL}
};
static struct file_operations req_history_fops = {
@@
-564,7
+594,7
@@
void ptlrpc_lprocfs_register_obd(struct obd_device *obddev)
}
EXPORT_SYMBOL(ptlrpc_lprocfs_register_obd);
-void ptlrpc_lprocfs_rpc_sent(struct ptlrpc_request *req)
+void ptlrpc_lprocfs_rpc_sent(struct ptlrpc_request *req
, long amount
)
{
struct lprocfs_stats *svc_stats;
__u32 op = lustre_msg_get_opc(req->rq_reqmsg);
@@
-575,7
+605,7
@@
void ptlrpc_lprocfs_rpc_sent(struct ptlrpc_request *req)
return;
LASSERT(opc < LUSTRE_MAX_OPCODES);
if (!(op == LDLM_ENQUEUE || op == MDS_REINT))
- lprocfs_counter_add(svc_stats, opc + EXTRA_MAX_OPCODES,
0
);
+ lprocfs_counter_add(svc_stats, opc + EXTRA_MAX_OPCODES,
amount
);
}
void ptlrpc_lprocfs_brw(struct ptlrpc_request *req, int bytes)
@@
-666,17
+696,12
@@
int lprocfs_wr_ping(struct file *file, const char *buffer,
ENTRY;
LPROCFS_CLIMP_CHECK(obd);
- req = ptlrpc_request_alloc_pack(obd->u.cli.cl_import, &RQF_OBD_PING,
- LUSTRE_OBD_VERSION, OBD_PING);
-
+ req = ptlrpc_prep_ping(obd->u.cli.cl_import);
LPROCFS_CLIMP_EXIT(obd);
if (req == NULL)
RETURN(-ENOMEM);
- ptlrpc_request_set_replen(req);
req->rq_send_state = LUSTRE_IMP_FULL;
- req->rq_no_resend = 1;
- req->rq_no_delay = 1;
rc = ptlrpc_queue_wait(req);