Re: [PATCH] mm: introduce entrance for root_mem_cgroup's current

From: Michal Hocko
Date: Thu Feb 02 2023 - 03:27:49 EST


On Thu 02-02-23 12:32:57, zhaoyang.huang wrote:
> From: Zhaoyang Huang <zhaoyang.huang@xxxxxxxxxx>
>
> Introducing memory.root_current for the memory charges on root_mem_cgroup.

Charges are not currently accounted for the root memcg universally. See
try_charge which is used for all user space and skmem charges. I am not
100% sure about objcg based accounting because there is no explicit
check for the root memcg but this might be hidden somewhere as well.

That means that the patch as is doesn't really provide and usable value.
The root exemption has been removed in the past but that has been
reverted due to a regression. See ce00a967377b ("mm: memcontrol: revert
use of root_mem_cgroup res_counter") for more.

> Signed-off-by: Zhaoyang Huang <zhaoyang.huang@xxxxxxxxxx>
> ---
> mm/memcontrol.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index ab457f0..158d4232 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -6681,6 +6681,11 @@ static ssize_t memory_reclaim(struct kernfs_open_file *of, char *buf,
>
> static struct cftype memory_files[] = {
> {
> + .name = "root_current",
> + .flags = CFTYPE_ONLY_ON_ROOT,
> + .read_u64 = memory_current_read,
> + },
> + {
> .name = "current",
> .flags = CFTYPE_NOT_ON_ROOT,
> .read_u64 = memory_current_read,
> --
> 1.9.1

--
Michal Hocko
SUSE Labs