Re: [PATCH 2/2] mm: move alloc tag to mm
From: Lorenzo Stoakes
Date: Fri Jun 26 2026 - 06:13:17 EST
On Thu, Jun 25, 2026 at 11:48:57AM -0700, Suren Baghdasaryan wrote:
> From: Lorenzo Stoakes <ljs@xxxxxxxxxx>
>
> The alloc tagging work is really mm-specific, so move alloc_tag.c to mm/
> and additionally update the MAINTAINERS entry to place it within memory
> management and port over the Kconfig and Makefile code to mm.
>
> Signed-off-by: Lorenzo Stoakes <ljs@xxxxxxxxxx>
> Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>
LGTM (obviously :P) so:
Reviewed-by: Lorenzo Stoakes <ljs@xxxxxxxxxx>
> ---
> MAINTAINERS | 20 ++++++++++----------
> lib/Kconfig.debug | 28 ----------------------------
> lib/Makefile | 1 -
> mm/Kconfig.debug | 28 ++++++++++++++++++++++++++++
> mm/Makefile | 1 +
> {lib => mm}/alloc_tag.c | 0
> 6 files changed, 39 insertions(+), 39 deletions(-)
> rename {lib => mm}/alloc_tag.c (100%)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 0948dc573744..3cf3cf2311e2 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -16704,16 +16704,6 @@ F: mm/mm_init.c
> F: mm/rodata_test.c
> F: tools/testing/memblock/
>
> -MEMORY ALLOCATION PROFILING
> -M: Suren Baghdasaryan <surenb@xxxxxxxxxx>
> -R: Hao Ge <hao.ge@xxxxxxxxx>
> -L: linux-mm@xxxxxxxxx
> -S: Maintained
> -F: Documentation/mm/allocation-profiling.rst
> -F: include/linux/alloc_tag.h
> -F: include/linux/pgalloc_tag.h
> -F: lib/alloc_tag.c
> -
> MEMORY CONTROLLER DRIVERS
> M: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
> L: linux-kernel@xxxxxxxxxxxxxxx
> @@ -16758,6 +16748,16 @@ T: quilt git://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new
> F: mm/
> F: tools/mm/
>
> +MEMORY MANAGEMENT - ALLOCATION PROFILING (ALLOC TAG)
> +M: Suren Baghdasaryan <surenb@xxxxxxxxxx>
> +R: Hao Ge <hao.ge@xxxxxxxxx>
> +L: linux-mm@xxxxxxxxx
> +S: Maintained
> +F: Documentation/mm/allocation-profiling.rst
> +F: include/linux/alloc_tag.h
> +F: include/linux/pgalloc_tag.h
> +F: mm/alloc_tag.c
> +
> MEMORY MANAGEMENT - BALLOON
> M: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> M: David Hildenbrand <david@xxxxxxxxxx>
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index 8ff5adcfe1e0..3762015522c3 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -1048,34 +1048,6 @@ config CODE_TAGGING
> bool
> select KALLSYMS
>
> -config MEM_ALLOC_PROFILING
> - bool "Enable memory allocation profiling"
> - default n
> - depends on MMU
> - depends on PROC_FS
> - depends on !DEBUG_FORCE_WEAK_PER_CPU
> - select CODE_TAGGING
> - select PAGE_EXTENSION
> - select SLAB_OBJ_EXT
> - help
> - Track allocation source code and record total allocation size
> - initiated at that code location. The mechanism can be used to track
> - memory leaks with a low performance and memory impact.
> -
> -config MEM_ALLOC_PROFILING_ENABLED_BY_DEFAULT
> - bool "Enable memory allocation profiling by default"
> - default y
> - depends on MEM_ALLOC_PROFILING
> -
> -config MEM_ALLOC_PROFILING_DEBUG
> - bool "Memory allocation profiler debugging"
> - default n
> - depends on MEM_ALLOC_PROFILING
> - select MEM_ALLOC_PROFILING_ENABLED_BY_DEFAULT
> - help
> - Adds warnings with helpful error messages for memory allocation
> - profiling.
> -
> source "lib/Kconfig.kasan"
> source "lib/Kconfig.kfence"
> source "lib/Kconfig.kmsan"
> diff --git a/lib/Makefile b/lib/Makefile
> index f33a24bf1c19..44f6538533a9 100644
> --- a/lib/Makefile
> +++ b/lib/Makefile
> @@ -197,7 +197,6 @@ obj-$(CONFIG_OF_RECONFIG_NOTIFIER_ERROR_INJECT) += \
> obj-$(CONFIG_FUNCTION_ERROR_INJECTION) += error-inject.o
>
> obj-$(CONFIG_CODE_TAGGING) += codetag.o
> -obj-$(CONFIG_MEM_ALLOC_PROFILING) += alloc_tag.o
>
> lib-$(CONFIG_GENERIC_BUG) += bug.o
>
> diff --git a/mm/Kconfig.debug b/mm/Kconfig.debug
> index 91b3e027b753..5737a504efbb 100644
> --- a/mm/Kconfig.debug
> +++ b/mm/Kconfig.debug
> @@ -320,3 +320,31 @@ config PER_VMA_LOCK_STATS
> overhead in the page fault path.
>
> If in doubt, say N.
> +
> +config MEM_ALLOC_PROFILING
> + bool "Enable memory allocation profiling"
> + default n
> + depends on MMU
> + depends on PROC_FS
> + depends on !DEBUG_FORCE_WEAK_PER_CPU
> + select CODE_TAGGING
> + select PAGE_EXTENSION
> + select SLAB_OBJ_EXT
> + help
> + Track allocation source code and record total allocation size
> + initiated at that code location. The mechanism can be used to track
> + memory leaks with a low performance and memory impact.
> +
> +config MEM_ALLOC_PROFILING_ENABLED_BY_DEFAULT
> + bool "Enable memory allocation profiling by default"
> + default y
> + depends on MEM_ALLOC_PROFILING
> +
> +config MEM_ALLOC_PROFILING_DEBUG
> + bool "Memory allocation profiler debugging"
> + default n
> + depends on MEM_ALLOC_PROFILING
> + select MEM_ALLOC_PROFILING_ENABLED_BY_DEFAULT
> + help
> + Adds warnings with helpful error messages for memory allocation
> + profiling.
> diff --git a/mm/Makefile b/mm/Makefile
> index eff9f9e7e061..4fc713867b9b 100644
> --- a/mm/Makefile
> +++ b/mm/Makefile
> @@ -147,3 +147,4 @@ obj-$(CONFIG_SHRINKER_DEBUG) += shrinker_debug.o
> obj-$(CONFIG_EXECMEM) += execmem.o
> obj-$(CONFIG_TMPFS_QUOTA) += shmem_quota.o
> obj-$(CONFIG_LAZY_MMU_MODE_KUNIT_TEST) += tests/lazy_mmu_mode_kunit.o
> +obj-$(CONFIG_MEM_ALLOC_PROFILING) += alloc_tag.o
> diff --git a/lib/alloc_tag.c b/mm/alloc_tag.c
> similarity index 100%
> rename from lib/alloc_tag.c
> rename to mm/alloc_tag.c
> --
> 2.55.0.rc0.799.gd6f94ed593-goog
>
Thanks, Lorenzo