Re: [PATCH] cgroup: make cgroups info more readable
From: xiujianfeng
Date: Fri Apr 19 2024 - 22:47:47 EST
Hi,
On 2024/4/19 14:25, Huan Yang wrote:
> HI jianfeng
>
> 在 2024/4/19 11:33, xiujianfeng 写道:
>> [Some people who received this message don't often get email from
>> xiujianfeng@xxxxxxxxxx. Learn why this is important at
>> https://aka.ms/LearnAboutSenderIdentification ]
>>
>> Hi,
>>
>> I found a discussion about this change in the email thread bellow, and
>> hope it helps you.
> It's helpful to know why this patch not need, thank you.
>>
>> https://lore.kernel.org/all/YwMwlMv%2FtK3sRXbB@xxxxxxxxxxxxxxx/#t
>
> I have a question, that, now that only for cgroup1, when I running qemu
> ubuntu, I got this:
>
>> mount | grep cgroup
>> cgroup2 on /sys/fs/cgroup type cgroup2
> (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)
>
> Only cgroup2 mount in my system, but /proc/cgroup also worked, maybe
> better to disable this when only cgroup2 mounted?
I’m not the maintainer, so the official answer to this question should
be left to them:).
However, I don’t think this is the right way. Even though the
information shown by /proc/cgroups doesn’t seem as useful for cgroup2 as
for cgroup1 due to cgroup2 has only single hierarchy, it’s not entirely
useless, IMHO.
>
>> On 2024/4/9 10:18, Huan Yang wrote:
>>> The current cgroups output format is based on tabs, which
>>> may cause misalignment of output information.
>>>
>>> Using placeholder formatting can make the output information
>>> more readable.
>>>
>>> Signed-off-by: Huan Yang <link@xxxxxxxx>
>>> ---
>>> kernel/cgroup/cgroup-v1.c | 7 ++++---
>>> 1 file changed, 4 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/kernel/cgroup/cgroup-v1.c b/kernel/cgroup/cgroup-v1.c
>>> index 520a11cb12f4..c082a78f4c22 100644
>>> --- a/kernel/cgroup/cgroup-v1.c
>>> +++ b/kernel/cgroup/cgroup-v1.c
>>> @@ -669,15 +669,16 @@ int proc_cgroupstats_show(struct seq_file *m,
>>> void *v)
>>> struct cgroup_subsys *ss;
>>> int i;
>>>
>>> - seq_puts(m, "#subsys_name\thierarchy\tnum_cgroups\tenabled\n");
>>> + seq_printf(m, "%16s %16s %16s %16s\n", "#subsys_name",
>>> "hierarchy",
>>> + "num_cgroups", "enabled");
>>> /*
>>> * Grab the subsystems state racily. No need to add avenue to
>>> * cgroup_mutex contention.
>>> */
>>>
>>> for_each_subsys(ss, i)
>>> - seq_printf(m, "%s\t%d\t%d\t%d\n",
>>> - ss->legacy_name, ss->root->hierarchy_id,
>>> + seq_printf(m, "%16s %16d %16d %16d\n", ss->legacy_name,
>>> + ss->root->hierarchy_id,
>>> atomic_read(&ss->root->nr_cgrps),
>>> cgroup_ssid_enabled(i));
>>>