Re: [PATCH v4] alloc_tag: expose boot-time compression configuration
Abhishek Bapat <[email protected]>
| Newsgroups | gmane.linux.kernel,gmane.linux.kernel.mm |
|---|---|
| Message-ID | <CAL41Mv6xvTXXoUCrHoqwHo6svTpGHUX4EyGEiU4X+5iU9jMzhQ@mail.gmail.com> |
On Tue, Aug 4, 2026 at 1:34 PM Suren Baghdasaryan <[email protected]> wrote: > > On Tue, Aug 4, 2026 at 1:06 PM Abhishek Bapat <[email protected]> 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@mail.gmail.com/. > Anyway, that's not super critical but would be nice to fix. > > > > > Signed-off-by: Abhishek Bapat <[email protected]> > > --- > > 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 [email protected] 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 > >