Re: [PATCH v4] alloc_tag: expose boot-time compression configuration
Suren Baghdasaryan <[email protected]> Tue, 4 Aug 2026 13:34:04 -0700
| Newsgroups | gmane.linux.kernel,gmane.linux.kernel.mm |
|---|---|
| Message-ID | <CAJuCfpGCHFhAwCkd8JX7fd1fee0JkJbS_SO8Q00ZM9dgi2TDjA@mail.gmail.com> |
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. > + > 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 >