[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170614200842.15174-7-tj@kernel.org>
Date: Wed, 14 Jun 2017 16:08:41 -0400
From: Tejun Heo <tj@...nel.org>
To: Waiman Long <longman@...hat.com>
Cc: lizefan@...wei.com, hannes@...xchg.org, peterz@...radead.org,
mingo@...hat.com, cgroups@...r.kernel.org,
linux-kernel@...r.kernel.org, kernel-team@...com,
Tejun Heo <tj@...nel.org>
Subject: [PATCH 6/7] cgroup: refactor cgroup_masks_read() in the debug controller
Factor out cgroup_masks_read_one() out of cgroup_masks_read() for
simplicity.
Signed-off-by: Tejun Heo <tj@...nel.org>
Cc: Waiman Long <longman@...hat.com>
---
kernel/cgroup/debug.c | 46 +++++++++++++++++++++-------------------------
1 file changed, 21 insertions(+), 25 deletions(-)
diff --git a/kernel/cgroup/debug.c b/kernel/cgroup/debug.c
index d61e692a5338..163fdbd7adf6 100644
--- a/kernel/cgroup/debug.c
+++ b/kernel/cgroup/debug.c
@@ -200,36 +200,32 @@ static int cgroup_subsys_states_read(struct seq_file *seq, void *v)
return 0;
}
-static int cgroup_masks_read(struct seq_file *seq, void *v)
+static void cgroup_masks_read_one(struct seq_file *seq, const char *name,
+ u16 mask)
{
- struct cgroup *cgrp = seq_css(seq)->cgroup;
struct cgroup_subsys *ss;
- int i, j;
- struct {
- u16 *mask;
- char *name;
- } mask_list[] = {
- { &cgrp->subtree_control, "subtree_control" },
- { &cgrp->subtree_ss_mask, "subtree_ss_mask" },
- };
+ int ssid;
+ bool first = true;
- mutex_lock(&cgroup_mutex);
- for (i = 0; i < ARRAY_SIZE(mask_list); i++) {
- u16 mask = *mask_list[i].mask;
- bool first = true;
-
- seq_printf(seq, "%-17s: ", mask_list[i].name);
- for_each_subsys(ss, j) {
- if (!(mask & (1 << ss->id)))
- continue;
- if (!first)
- seq_puts(seq, ", ");
- seq_puts(seq, ss->name);
- first = false;
- }
- seq_putc(seq, '\n');
+ seq_printf(seq, "%-17s: ", name);
+ for_each_subsys(ss, ssid) {
+ if (!(mask & (1 << ssid)))
+ continue;
+ if (!first)
+ seq_puts(seq, ", ");
+ seq_puts(seq, ss->name);
+ first = false;
}
+ seq_putc(seq, '\n');
+}
+static int cgroup_masks_read(struct seq_file *seq, void *v)
+{
+ struct cgroup *cgrp = seq_css(seq)->cgroup;
+
+ mutex_lock(&cgroup_mutex);
+ cgroup_masks_read_one(seq, "subtree_control", cgrp->subtree_control);
+ cgroup_masks_read_one(seq, "subtree_ss_mask", cgrp->subtree_ss_mask);
mutex_unlock(&cgroup_mutex);
return 0;
}
--
2.13.0
Powered by blists - more mailing lists