Re: [PATCH v4] alloc_tag: expose boot-time compression configuration

From: Abhishek Bapat

Date: Wed Aug 05 2026 - 13:19:36 EST


On Tue, Aug 4, 2026 at 1:34 PM Suren Baghdasaryan <surenb@xxxxxxxxxx> wrote:
>
> On Tue, Aug 4, 2026 at 1:06 PM Abhishek Bapat <abhishekbapat@xxxxxxxxxx> wrote:
> >
> > Currently, userspace has limited visibility into the exact active
> > runtime state of memory allocation profiling and its page extension
> > compression ('sysctl.vm.mem_profiling={0|1|never}[,compressed]').
> >
> > While reading the sysctl provides basic on/off status, it is currently
> > impossible for userspace to natively determine whether page-tag
> > compression was successfully enabled without scraping dmesg boot logs.
> >
> > Resolve this ambiguity by exposing the active compression state by
> > adding a new read-only sysctl `vm.mem_profiling_compressed` to output the
> > state.
>
> I guess you missed my first comment at
> https://lore.kernel.org/all/CAJuCfpGA7F80yW1=bSXsZre4=Tx=peqNbkWvKF0up8xJdSvrgA@xxxxxxxxxxxxxx/.
> Anyway, that's not super critical but would be nice to fix.
>
> >
> > Signed-off-by: Abhishek Bapat <abhishekbapat@xxxxxxxxxx>
> > ---
> > v4 change:
> > - Documentation and commit message refactor.
> >
> > v3 change:
> > - Added documentation about the behaviour details of the new sysctl.
> >
> > v2 change:
> > - Moved from displaying the state in /proc/allocinfo to a new read-only
> > sysctl.
> >
> > Documentation/mm/allocation-profiling.rst | 11 +++++++++++
> > mm/alloc_tag.c | 6 ++++++
> > 2 files changed, 17 insertions(+)
> >
> > diff --git a/Documentation/mm/allocation-profiling.rst b/Documentation/mm/allocation-profiling.rst
> > index c3a28467955f..f28358af927a 100644
> > --- a/Documentation/mm/allocation-profiling.rst
> > +++ b/Documentation/mm/allocation-profiling.rst
> > @@ -43,6 +43,17 @@ sysctl:
> > warnings produced by allocations made while profiling is disabled and freed
> > when it's enabled.
> >
> > + /proc/sys/vm/mem_profiling_compressed
> > +
> > + 1: Page alloc tag compression is enabled.
> > +
> > + 0: Page alloc tag compression is disabled.
> > +
> > + This reflects a static boot-time configuration of how page allocation tags are
> > + stored (in page flags when compression is enabled and in page_ext when disabled).
> > + Toggling `mem_profiling` at runtime does not change the state of
> > + `mem_profiling_compressed`.
>
> I'm not a documentation expert but Google tells me: single backticks
> (`) act as interpreted text for semantic cross-references or links,
> while double backticks (``) act as inline literals for raw code
> formatting. I think double backticks would be more appropriate here.
> You should also CC linux-doc@xxxxxxxxxxxxxxx to get their input.
>

My bad I missed that comment, I'll send out a new version with the
recommended changes. Thanks!

> > +
> > Runtime info:
> > /proc/allocinfo
> >
> > diff --git a/mm/alloc_tag.c b/mm/alloc_tag.c
> > index 52aece27b00e..877068241f06 100644
> > --- a/mm/alloc_tag.c
> > +++ b/mm/alloc_tag.c
> > @@ -1303,6 +1303,12 @@ static const struct ctl_table memory_allocation_profiling_sysctls[] = {
> > .mode = 0644,
> > .proc_handler = proc_mem_profiling_handler,
> > },
> > + {
> > + .procname = "mem_profiling_compressed",
> > + .data = &mem_profiling_compressed,
> > + .mode = 0444,
> > + .proc_handler = proc_do_static_key,
> > + },
> > };
> >
> > static void __init sysctl_init(void)
> >
> > base-commit: 486855239e38a91d3eae26618ccb7845c1764625
> > --
> > 2.55.0.508.g3f0d502094-goog
> >