[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <01e9ccca-c266-face-6854-40b2d6020a16@huawei.com>
Date: Tue, 11 Jun 2024 10:28:49 +0800
From: xiujianfeng <xiujianfeng@...wei.com>
To: Oscar Salvador <osalvador@...e.de>
CC: <akpm@...ux-foundation.org>, <muchun.song@...ux.dev>,
<linux-mm@...ck.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 -next 1/3] mm/hugetlb_cgroup: identify the legacy using
cgroup_subsys_on_dfl()
On 2024/6/10 13:03, Oscar Salvador wrote:
> On Wed, Jun 05, 2024 at 07:01:31AM +0000, Xiu Jianfeng wrote:
>> Currently the numa_stat file encodes 1 into private using the micro
>> MEMFILE_PRIVATE() to identify the legacy. Actually, we can use
>> cgroup_subsys_on_dfl() instead. This is helpful to handle .private
>> in the static array of the comming patch.
>>
>> Signed-off-by: Xiu Jianfeng <xiujianfeng@...wei.com>
>
> Reviewed-by: Oscar Salvador <osalvador@...e.de>
>
> Nit below:
>
>> ---
>> mm/hugetlb_cgroup.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/mm/hugetlb_cgroup.c b/mm/hugetlb_cgroup.c
>> index e20339a346b9..45f94a869776 100644
>> --- a/mm/hugetlb_cgroup.c
>> +++ b/mm/hugetlb_cgroup.c
>> @@ -460,7 +460,7 @@ static int hugetlb_cgroup_read_numa_stat(struct seq_file *seq, void *dummy)
>> int nid;
>> struct cftype *cft = seq_cft(seq);
>> int idx = MEMFILE_IDX(cft->private);
>> - bool legacy = MEMFILE_ATTR(cft->private);
>> + bool legacy = !cgroup_subsys_on_dfl(hugetlb_cgrp_subsys);
>> struct hugetlb_cgroup *h_cg = hugetlb_cgroup_from_css(seq_css(seq));
>> struct cgroup_subsys_state *css;
>> unsigned long usage;
>> @@ -839,7 +839,7 @@ static void __init __hugetlb_cgroup_file_legacy_init(int idx)
>> /* Add the numa stat file */
>> cft = &h->cgroup_files_legacy[8];
>> snprintf(cft->name, MAX_CFTYPE_NAME, "%s.numa_stat", buf);
>> - cft->private = MEMFILE_PRIVATE(idx, 1);
>> + cft->private = MEMFILE_PRIVATE(idx, 0);
>
> Do we still have to set it to '0'?
> Is it not by default?
>
Hi Oscar,
Thanks for your review.
Not all files care about the value of the second argument of
MEMFILE_PRIVATE(), but all files care about the value of the first
argument 'idx', so the .private must be explicitly set, and passing 0 as
the second argument can be treated as 'not caring what its value is'.
Setting it to 0 or 1 does not affect the functionality, but it makes the
semantics more clear, IMO.
However, you've reminded me that the reassignment of .private in the
second patch is problematic, and I will make a comment on that patch.
Powered by blists - more mailing lists