Commit b40881e5 authored by Oleg Drokin's avatar Oleg Drokin Committed by Greg Kroah-Hartman

staging/lustre/ptlrpc: move procfs high_priority_ratio file to sysfs

Move ptlrpc service high_priority_ratio entry from procfs to sysfs.
Currently in use only by ldlm callback service only in
/sys/fs/lustre/ldlm/services/ldlm_cbd/
Signed-off-by: default avatarOleg Drokin <oleg.drokin@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 673a6796
...@@ -1018,23 +1018,26 @@ static int ptlrpc_lprocfs_timeouts_seq_show(struct seq_file *m, void *n) ...@@ -1018,23 +1018,26 @@ static int ptlrpc_lprocfs_timeouts_seq_show(struct seq_file *m, void *n)
} }
LPROC_SEQ_FOPS_RO(ptlrpc_lprocfs_timeouts); LPROC_SEQ_FOPS_RO(ptlrpc_lprocfs_timeouts);
static int ptlrpc_lprocfs_hp_ratio_seq_show(struct seq_file *m, void *v) static ssize_t high_priority_ratio_show(struct kobject *kobj,
struct attribute *attr,
char *buf)
{ {
struct ptlrpc_service *svc = m->private; struct ptlrpc_service *svc = container_of(kobj, struct ptlrpc_service,
seq_printf(m, "%d", svc->srv_hpreq_ratio); srv_kobj);
return 0; return sprintf(buf, "%d\n", svc->srv_hpreq_ratio);
} }
static ssize_t ptlrpc_lprocfs_hp_ratio_seq_write(struct file *file, static ssize_t high_priority_ratio_store(struct kobject *kobj,
const char __user *buffer, struct attribute *attr,
size_t count, const char *buffer,
loff_t *off) size_t count)
{ {
struct ptlrpc_service *svc = ((struct seq_file *)file->private_data)->private; struct ptlrpc_service *svc = container_of(kobj, struct ptlrpc_service,
srv_kobj);
int rc; int rc;
int val; unsigned long val;
rc = lprocfs_write_helper(buffer, count, &val); rc = kstrtoul(buffer, 10, &val);
if (rc < 0) if (rc < 0)
return rc; return rc;
...@@ -1047,12 +1050,13 @@ static ssize_t ptlrpc_lprocfs_hp_ratio_seq_write(struct file *file, ...@@ -1047,12 +1050,13 @@ static ssize_t ptlrpc_lprocfs_hp_ratio_seq_write(struct file *file,
return count; return count;
} }
LPROC_SEQ_FOPS(ptlrpc_lprocfs_hp_ratio); LUSTRE_RW_ATTR(high_priority_ratio);
static struct attribute *ptlrpc_svc_attrs[] = { static struct attribute *ptlrpc_svc_attrs[] = {
&lustre_attr_threads_min.attr, &lustre_attr_threads_min.attr,
&lustre_attr_threads_started.attr, &lustre_attr_threads_started.attr,
&lustre_attr_threads_max.attr, &lustre_attr_threads_max.attr,
&lustre_attr_high_priority_ratio.attr,
NULL, NULL,
}; };
...@@ -1096,9 +1100,6 @@ void ptlrpc_lprocfs_register_service(struct proc_dir_entry *entry, ...@@ -1096,9 +1100,6 @@ void ptlrpc_lprocfs_register_service(struct proc_dir_entry *entry,
struct ptlrpc_service *svc) struct ptlrpc_service *svc)
{ {
struct lprocfs_vars lproc_vars[] = { struct lprocfs_vars lproc_vars[] = {
{.name = "high_priority_ratio",
.fops = &ptlrpc_lprocfs_hp_ratio_fops,
.data = svc},
{.name = "req_buffer_history_len", {.name = "req_buffer_history_len",
.fops = &ptlrpc_lprocfs_req_history_len_fops, .fops = &ptlrpc_lprocfs_req_history_len_fops,
.data = svc}, .data = svc},
......
...@@ -329,3 +329,10 @@ Date: May 2015 ...@@ -329,3 +329,10 @@ Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com> Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description: Description:
Shows actual number of ldlm callback threads running. Shows actual number of ldlm callback threads running.
What: /sys/fs/lustre/ldlm/services/ldlm_cbd/high_priority_ratio
Date: May 2015
Contact: "Oleg Drokin" <oleg.drokin@intel.com>
Description:
Controls what percentage of ldlm callback threads is dedicated
to "high priority" incoming requests.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment