aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/cgroup/debug.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/cgroup/debug.c')
-rw-r--r--kernel/cgroup/debug.c46
1 files 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)
200 return 0; 200 return 0;
201} 201}
202 202
203static int cgroup_masks_read(struct seq_file *seq, void *v) 203static void cgroup_masks_read_one(struct seq_file *seq, const char *name,
204 u16 mask)
204{ 205{
205 struct cgroup *cgrp = seq_css(seq)->cgroup;
206 struct cgroup_subsys *ss; 206 struct cgroup_subsys *ss;
207 int i, j; 207 int ssid;
208 struct { 208 bool first = true;
209 u16 *mask;
210 char *name;
211 } mask_list[] = {
212 { &cgrp->subtree_control, "subtree_control" },
213 { &cgrp->subtree_ss_mask, "subtree_ss_mask" },
214 };
215 209
216 mutex_lock(&cgroup_mutex); 210 seq_printf(seq, "%-17s: ", name);
217 for (i = 0; i < ARRAY_SIZE(mask_list); i++) { 211 for_each_subsys(ss, ssid) {
218 u16 mask = *mask_list[i].mask; 212 if (!(mask & (1 << ssid)))
219 bool first = true; 213 continue;
220 214 if (!first)
221 seq_printf(seq, "%-17s: ", mask_list[i].name); 215 seq_puts(seq, ", ");
222 for_each_subsys(ss, j) { 216 seq_puts(seq, ss->name);
223 if (!(mask & (1 << ss->id))) 217 first = false;
224 continue;
225 if (!first)
226 seq_puts(seq, ", ");
227 seq_puts(seq, ss->name);
228 first = false;
229 }
230 seq_putc(seq, '\n');
231 } 218 }
219 seq_putc(seq, '\n');
220}
232 221
222static int cgroup_masks_read(struct seq_file *seq, void *v)
223{
224 struct cgroup *cgrp = seq_css(seq)->cgroup;
225
226 mutex_lock(&cgroup_mutex);
227 cgroup_masks_read_one(seq, "subtree_control", cgrp->subtree_control);
228 cgroup_masks_read_one(seq, "subtree_ss_mask", cgrp->subtree_ss_mask);
233 mutex_unlock(&cgroup_mutex); 229 mutex_unlock(&cgroup_mutex);
234 return 0; 230 return 0;
235} 231}