Re: [PATCH 03/11] cgroup: add memory_cma_accounting mount option

From: Eric Chanudet

Date: Mon Aug 24 2026 - 18:07:14 EST


On Mon, Aug 24, 2026 at 09:02:30AM +0200, Maxime Ripard wrote:
> On Fri, Aug 21, 2026 at 02:56:55PM -0400, Eric Chanudet wrote:
> > Add a cgroup v2 mount option that will be used later in this series to
> > enable CMA memory accounting under memcg.
> >
> > The option is made opt-in as it will charge allocations to the cgroup's
> > overall memory usage, which changes existing expectations.
> >
> > Signed-off-by: Eric Chanudet <echanude@xxxxxxxxxx>
> > ---
> > Documentation/admin-guide/cgroup-v2.rst | 20 ++++++++++++++++++++
> > include/linux/cgroup-defs.h | 5 +++++
> > kernel/cgroup/cgroup.c | 15 ++++++++++++++-
> > 3 files changed, 39 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst
> > index aed195a71cbf..3dfc13f31a0c 100644
> > --- a/Documentation/admin-guide/cgroup-v2.rst
> > +++ b/Documentation/admin-guide/cgroup-v2.rst
> > @@ -246,6 +246,26 @@ cgroup v2 currently supports the following mount options.
> > will not be tracked by the memory controller (even if cgroup
> > v2 is remounted later on).
> >
> > + memory_cma_accounting
> > + Count CMA memory usage towards the cgroup's overall memory usage for
> > + the memory controller, and expose per-CMA-area usage counters. This
> > + behavior is opt-in, so as to not cause regression on existing setups.
> > +
> > + A few caveats to keep in mind:
> > +
> > + * CMA areas are reserved at boot time, memory is only charged to a
> > + cgroup when a CMA allocation is performed on its behalf.
> > + * CMA pages allocated while this option is not enabled will not be
> > + tracked by the memory controller, even if cgroup v2 is remounted
> > + later on with this option. Charges happen at allocation.
>
> And what would happen if it's the other way around, ie mounted with this
> option enabled, then remounted with the option disabled?

I meant for it to have no more charge issued until remounted with the
option enabled. Pages that have been charged are uncharged when
released, even if memory_cma_accounting is disabled after the charge is
issued. In this version, it is broken[1].

I extended the documentation line with the fix for a potential v2.

[1]https://lore.kernel.org/sashiko-reviews/aoi_OHVZjsY9a9VV@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/

--
Eric Chanudet