Re: [External] Re: [PATCH v5] mm: memcontrol: Add the missing numa_stat interface for cgroup v2

From: Johannes Weiner
Date: Wed Sep 16 2020 - 16:38:51 EST


On Wed, Sep 16, 2020 at 12:14:49PM +0800, Muchun Song wrote:
> On Wed, Sep 16, 2020 at 5:50 AM Johannes Weiner <hannes@xxxxxxxxxxx> wrote:
> >
> > On Wed, Sep 16, 2020 at 01:18:01AM +0800, Muchun Song wrote:
> > > In the cgroup v1, we have a numa_stat interface. This is useful for
> > > providing visibility into the numa locality information within an
> > > memcg since the pages are allowed to be allocated from any physical
> > > node. One of the use cases is evaluating application performance by
> > > combining this information with the application's CPU allocation.
> > > But the cgroup v2 does not. So this patch adds the missing information.
> > >
> > > Signed-off-by: Muchun Song <songmuchun@xxxxxxxxxxxxx>
> > > Suggested-by: Shakeel Butt <shakeelb@xxxxxxxxxx>
> > > Reviewed-by: Shakeel Butt <shakeelb@xxxxxxxxxx>
> >
> > Yup, that would be useful information to have. Just a few comments on
> > the patch below:
> >
> > > @@ -1368,6 +1368,78 @@ PAGE_SIZE multiple when read back.
> > > collapsing an existing range of pages. This counter is not
> > > present when CONFIG_TRANSPARENT_HUGEPAGE is not set.
> > >
> > > + memory.numa_stat
> > > + A read-only flat-keyed file which exists on non-root cgroups.
> >
> > It's a nested key file, not flat.
>
> This is just copied from memory.stat documentation.Is the memory.stat
> also a nested key file?

No, memory.stat is a different format. From higher up in the document:

Flat keyed

KEY0 VAL0\n
KEY1 VAL1\n
...

Nested keyed

KEY0 SUB_KEY0=VAL00 SUB_KEY1=VAL01...
KEY1 SUB_KEY0=VAL10 SUB_KEY1=VAL11...
...

> > Otherwise, this looks reasonable to me.
>
> OK. Will do that.

Thanks!