Skip to content

Commit

Permalink
rcu: Remove old debugfs interfaces and also RCU flavor name
Browse files Browse the repository at this point in the history
This commit removes the old debugfs interfaces, so that the new
directory-per-RCU-flavor versions remain.  Because the RCU flavor is
given by the directory name, there is no need to print it out, so remove
the name from the printout.

Signed-off-by: Michael Wang <wangyun@linux.vnet.ibm.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
  • Loading branch information
Michael Wang authored and Paul E. McKenney committed Nov 8, 2012
1 parent a608d84 commit 6ee0886
Showing 1 changed file with 44 additions and 146 deletions.
190 changes: 44 additions & 146 deletions kernel/rcutree_trace.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,32 +78,7 @@ static void r_stop(struct seq_file *m, void *v)
{
}

static int show_rcubarrier(struct seq_file *m, void *unused)
{
struct rcu_state *rsp;

for_each_rcu_flavor(rsp)
seq_printf(m, "%s: bcc: %d nbd: %lu\n",
rsp->name,
atomic_read(&rsp->barrier_cpu_count),
rsp->n_barrier_done);
return 0;
}

static int rcubarrier_open(struct inode *inode, struct file *file)
{
return single_open(file, show_rcubarrier, NULL);
}

static const struct file_operations rcubarrier_fops = {
.owner = THIS_MODULE,
.open = rcubarrier_open,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static int new_show_rcubarrier(struct seq_file *m, void *v)
static int show_rcubarrier(struct seq_file *m, void *v)
{
struct rcu_state *rsp = (struct rcu_state *)m->private;
seq_printf(m, "bcc: %d nbd: %lu\n",
Expand All @@ -112,14 +87,14 @@ static int new_show_rcubarrier(struct seq_file *m, void *v)
return 0;
}

static int new_rcubarrier_open(struct inode *inode, struct file *file)
static int rcubarrier_open(struct inode *inode, struct file *file)
{
return single_open(file, new_show_rcubarrier, inode->i_private);
return single_open(file, show_rcubarrier, inode->i_private);
}

static const struct file_operations new_rcubarrier_fops = {
static const struct file_operations rcubarrier_fops = {
.owner = THIS_MODULE,
.open = new_rcubarrier_open,
.open = rcubarrier_open,
.read = seq_read,
.llseek = no_llseek,
.release = seq_release,
Expand Down Expand Up @@ -245,23 +220,7 @@ static const struct file_operations rcu_node_boost_fops = {
.release = single_release,
};

/*
* Create the rcuboost debugfs entry. Standard error return.
*/
static int rcu_boost_trace_create_file(struct dentry *rcudir)
{
return !debugfs_create_file("rcuboost", 0444, rcudir, NULL,
&rcu_node_boost_fops);
}

#else /* #ifdef CONFIG_RCU_BOOST */

static int rcu_boost_trace_create_file(struct dentry *rcudir)
{
return 0; /* There cannot be an error if we didn't create it! */
}

#endif /* #else #ifdef CONFIG_RCU_BOOST */
#endif /* #ifdef CONFIG_RCU_BOOST */

static void print_one_rcu_state(struct seq_file *m, struct rcu_state *rsp)
{
Expand All @@ -270,8 +229,8 @@ static void print_one_rcu_state(struct seq_file *m, struct rcu_state *rsp)
struct rcu_node *rnp;

gpnum = rsp->gpnum;
seq_printf(m, "%s: c=%ld g=%ld s=%d jfq=%ld j=%x ",
rsp->name, ulong2long(rsp->completed), ulong2long(gpnum),
seq_printf(m, "c=%ld g=%ld s=%d jfq=%ld j=%x ",
ulong2long(rsp->completed), ulong2long(gpnum),
rsp->fqs_state,
(long)(rsp->jiffies_force_qs - jiffies),
(int)(jiffies & 0xffff));
Expand All @@ -294,44 +253,22 @@ static void print_one_rcu_state(struct seq_file *m, struct rcu_state *rsp)
seq_puts(m, "\n");
}

static int show_rcuhier(struct seq_file *m, void *unused)
static int show_rcuhier(struct seq_file *m, void *v)
{
struct rcu_state *rsp;

for_each_rcu_flavor(rsp)
print_one_rcu_state(m, rsp);
struct rcu_state *rsp = (struct rcu_state *)m->private;
print_one_rcu_state(m, rsp);
return 0;
}

static int rcuhier_open(struct inode *inode, struct file *file)
{
return single_open(file, show_rcuhier, NULL);
return single_open(file, show_rcuhier, inode->i_private);
}

static const struct file_operations rcuhier_fops = {
.owner = THIS_MODULE,
.open = rcuhier_open,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static int new_show_rcuhier(struct seq_file *m, void *v)
{
struct rcu_state *rsp = (struct rcu_state *)m->private;
print_one_rcu_state(m, rsp);
return 0;
}

static int new_rcuhier_open(struct inode *inode, struct file *file)
{
return single_open(file, new_show_rcuhier, inode->i_private);
}

static const struct file_operations new_rcuhier_fops = {
.owner = THIS_MODULE,
.open = new_rcuhier_open,
.read = seq_read,
.llseek = no_llseek,
.release = seq_release,
};
Expand All @@ -354,48 +291,26 @@ static void show_one_rcugp(struct seq_file *m, struct rcu_state *rsp)
gpage = jiffies - rsp->gp_start;
gpmax = rsp->gp_max;
raw_spin_unlock_irqrestore(&rnp->lock, flags);
seq_printf(m, "%s: completed=%ld gpnum=%ld age=%ld max=%ld\n",
rsp->name, ulong2long(completed), ulong2long(gpnum), gpage, gpmax);
seq_printf(m, "completed=%ld gpnum=%ld age=%ld max=%ld\n",
ulong2long(completed), ulong2long(gpnum), gpage, gpmax);
}

static int show_rcugp(struct seq_file *m, void *unused)
static int show_rcugp(struct seq_file *m, void *v)
{
struct rcu_state *rsp;

for_each_rcu_flavor(rsp)
show_one_rcugp(m, rsp);
struct rcu_state *rsp = (struct rcu_state *)m->private;
show_one_rcugp(m, rsp);
return 0;
}

static int rcugp_open(struct inode *inode, struct file *file)
{
return single_open(file, show_rcugp, NULL);
return single_open(file, show_rcugp, inode->i_private);
}

static const struct file_operations rcugp_fops = {
.owner = THIS_MODULE,
.open = rcugp_open,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static int new_show_rcugp(struct seq_file *m, void *v)
{
struct rcu_state *rsp = (struct rcu_state *)m->private;
show_one_rcugp(m, rsp);
return 0;
}

static int new_rcugp_open(struct inode *inode, struct file *file)
{
return single_open(file, new_show_rcugp, inode->i_private);
}

static const struct file_operations new_rcugp_fops = {
.owner = THIS_MODULE,
.open = new_rcugp_open,
.read = seq_read,
.llseek = no_llseek,
.release = seq_release,
};
Expand Down Expand Up @@ -485,57 +400,40 @@ static int __init rcutree_trace_init(void)
if (!rspdir)
goto free_out;

retval = debugfs_create_file("rcudata", 0444,
rspdir, rsp, &rcudata_fops);
if (!retval)
goto free_out;
retval = debugfs_create_file("rcudata", 0444,
rspdir, rsp, &rcudata_fops);
if (!retval)
goto free_out;

retval = debugfs_create_file("rcu_pending", 0444,
rspdir, rsp, &rcu_pending_fops);
if (!retval)
goto free_out;
retval = debugfs_create_file("rcu_pending", 0444,
rspdir, rsp, &rcu_pending_fops);
if (!retval)
goto free_out;

retval = debugfs_create_file("rcubarrier", 0444,
rspdir, rsp, &new_rcubarrier_fops);
if (!retval)
goto free_out;
retval = debugfs_create_file("rcubarrier", 0444,
rspdir, rsp, &rcubarrier_fops);
if (!retval)
goto free_out;

#ifdef CONFIG_RCU_BOOST
if (rsp == &rcu_preempt_state) {
retval = debugfs_create_file("rcuboost", 0444,
rspdir, NULL, &rcu_node_boost_fops);
if (!retval)
goto free_out;
}
#endif

retval = debugfs_create_file("rcugp", 0444,
rspdir, rsp, &new_rcugp_fops);
if (rsp == &rcu_preempt_state) {
retval = debugfs_create_file("rcuboost", 0444,
rspdir, NULL, &rcu_node_boost_fops);
if (!retval)
goto free_out;
}
#endif

retval = debugfs_create_file("rcuhier", 0444,
rspdir, rsp, &new_rcuhier_fops);
if (!retval)
goto free_out;
}

retval = debugfs_create_file("rcubarrier", 0444, rcudir,
NULL, &rcubarrier_fops);
if (!retval)
goto free_out;

if (rcu_boost_trace_create_file(rcudir))
goto free_out;

retval = debugfs_create_file("rcugp", 0444, rcudir, NULL, &rcugp_fops);
if (!retval)
goto free_out;
retval = debugfs_create_file("rcugp", 0444,
rspdir, rsp, &rcugp_fops);
if (!retval)
goto free_out;

retval = debugfs_create_file("rcuhier", 0444, rcudir,
NULL, &rcuhier_fops);
if (!retval)
goto free_out;
retval = debugfs_create_file("rcuhier", 0444,
rspdir, rsp, &rcuhier_fops);
if (!retval)
goto free_out;
}

retval = debugfs_create_file("rcutorture", 0444, rcudir,
NULL, &rcutorture_fops);
Expand Down

0 comments on commit 6ee0886

Please sign in to comment.