From: "Vlastimil Babka (SUSE)" <vbabka@kernel.org>
To: Suren Baghdasaryan <surenb@google.com>,
"Harry Yoo (Oracle)" <harry@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Hao Li <hao.li@linux.dev>, Christoph Lameter <cl@gentwo.org>,
David Rientjes <rientjes@google.com>,
Roman Gushchin <roman.gushchin@linux.dev>,
"Liam R. Howlett" <liam@infradead.org>, Hao Ge <hao.ge@linux.dev>,
Kees Cook <kees@kernel.org>, Pedro Falcato <pfalcato@suse.de>,
Shakeel Butt <shakeel.butt@linux.dev>,
Danielle Constantino <dcostantino@meta.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH slab/for-next-fixes v3 3/4] lib/alloc_tag: introduce mem_alloc_profiling_permanently_disabled()
Date: Mon, 13 Jul 2026 18:15:15 +0200 [thread overview]
Message-ID: <fcee1dbe-1109-44c8-a3dc-8aebc5569c73@kernel.org> (raw)
In-Reply-To: <CAJuCfpG=Dk6PRWy-8wR4j0UreSsa=fdiFWvBYpOkSZE0zV2Z4A@mail.gmail.com>
On 7/13/26 17:43, Suren Baghdasaryan wrote:
> On Mon, Jul 13, 2026 at 7:29 AM Harry Yoo (Oracle) <harry@kernel.org> wrote:
>>
>> mem_alloc_profiling_enabled() tells whether memalloc profiling is
>> currently enabled. However, even when this function returns false,
>> it can be enabled later.
>>
>> However, this is not enough. Some optimizations can be applied only when
>> memalloc profiling is permanently disabled. For example, to skip the
>> creation of KMALLOC_NO_OBJ_EXT caches at boot time, mem_profiling must
>> be set to "never", "0" w/ debugging on, or have been shutdown so that
>> it can no longer be enabled.
>>
>> Introduce mem_alloc_profiling_permanently_disabled() for this purpose.
>
> nit: I would call it mem_alloc_profiling_supported() but this name would do.
I wouldn't like that name, because _supported to me sounds like those
CONFIG_ARCH_SUPPORTS... things and not something that was just disabled.
I suggested mem_alloc_profiling_unavailable(), but it's not ideal either,
naming is hard.
>>
>> Fixes: 4b8736964640 ("mm/slab: add allocation accounting into slab allocation and free paths")
>> Cc: stable@vger.kernel.org
>> Signed-off-by: Harry Yoo (Oracle) <harry@kernel.org>
>
> Acked-by: Suren Baghdasaryan <surenb@google.com>
>
>> ---
>> include/linux/alloc_tag.h | 3 +++
>> lib/alloc_tag.c | 9 +++++++++
>> 2 files changed, 12 insertions(+)
>>
>> diff --git a/include/linux/alloc_tag.h b/include/linux/alloc_tag.h
>> index 068ba2e77c5d..6ed9f82e639f 100644
>> --- a/include/linux/alloc_tag.h
>> +++ b/include/linux/alloc_tag.h
>> @@ -134,6 +134,8 @@ static inline bool mem_alloc_profiling_enabled(void)
>> &mem_alloc_profiling_key);
>> }
>>
>> +bool mem_alloc_profiling_permanently_disabled(void);
>> +
>> static inline struct alloc_tag_counters alloc_tag_read(struct alloc_tag *tag)
>> {
>> struct alloc_tag_counters v = { 0, 0 };
>> @@ -239,6 +241,7 @@ static inline bool alloc_tag_is_inaccurate(struct alloc_tag *tag)
>>
>> #define DEFINE_ALLOC_TAG(_alloc_tag)
>> static inline bool mem_alloc_profiling_enabled(void) { return false; }
>> +static inline bool mem_alloc_profiling_permanently_disabled(void) { return true; }
>> static inline void alloc_tag_add(union codetag_ref *ref, struct alloc_tag *tag,
>> size_t bytes) {}
>> static inline void alloc_tag_sub(union codetag_ref *ref, size_t bytes) {}
>> diff --git a/lib/alloc_tag.c b/lib/alloc_tag.c
>> index d9be1cf5187d..e5b218176c5a 100644
>> --- a/lib/alloc_tag.c
>> +++ b/lib/alloc_tag.c
>> @@ -26,6 +26,15 @@ static bool mem_profiling_support = true;
>> static bool mem_profiling_support;
>> #endif
>>
>> +/*
>> + * Memory allocation profiling is permanently disabled and cannot be enabled.
>> + * Must be called after setup_early_mem_profiling().
>> + */
>> +bool mem_alloc_profiling_permanently_disabled(void)
>> +{
>> + return !mem_profiling_support;
>> +}
>> +
>> static struct codetag_type *alloc_tag_cttype;
>>
>> #ifdef CONFIG_ARCH_MODULE_NEEDS_WEAK_PER_CPU
>>
>> --
>> 2.53.0
>>
next prev parent reply other threads:[~2026-07-13 16:15 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-13 14:28 [PATCH slab/for-next-fixes v3 0/4] mm/slab: fix unbounded recursion in free path with memalloc profiling Harry Yoo (Oracle)
2026-07-13 14:28 ` [PATCH slab/for-next-fixes v3 1/4] mm/slab: fix a memory leak due to bootstrapping sheaves twice Harry Yoo (Oracle)
2026-07-13 15:30 ` Suren Baghdasaryan
2026-07-13 14:28 ` [PATCH slab/for-next-fixes v3 2/4] mm/slab: decouple SLAB_NO_SHEAVES from SLAB_NO_OBJ_EXT Harry Yoo (Oracle)
2026-07-13 15:37 ` Suren Baghdasaryan
2026-07-13 14:28 ` [PATCH slab/for-next-fixes v3 3/4] lib/alloc_tag: introduce mem_alloc_profiling_permanently_disabled() Harry Yoo (Oracle)
2026-07-13 15:43 ` Suren Baghdasaryan
2026-07-13 16:15 ` Vlastimil Babka (SUSE) [this message]
2026-07-13 16:28 ` Harry Yoo
2026-07-14 14:37 ` Suren Baghdasaryan
2026-07-13 14:28 ` [PATCH slab/for-next-fixes v3 4/4] mm/slab: prevent unbounded recursion in free path with new kmalloc type Harry Yoo (Oracle)
2026-07-13 17:08 ` Suren Baghdasaryan
2026-07-14 5:17 ` Harry Yoo
2026-07-14 9:12 ` Vlastimil Babka (SUSE)
2026-07-14 14:27 ` Suren Baghdasaryan
2026-07-14 15:21 ` Vlastimil Babka (SUSE)
2026-07-14 15:42 ` [PATCH slab/for-next-fixes v3 0/4] mm/slab: fix unbounded recursion in free path with memalloc profiling Vlastimil Babka (SUSE)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fcee1dbe-1109-44c8-a3dc-8aebc5569c73@kernel.org \
--to=vbabka@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=cl@gentwo.org \
--cc=dcostantino@meta.com \
--cc=hao.ge@linux.dev \
--cc=hao.li@linux.dev \
--cc=harry@kernel.org \
--cc=kees@kernel.org \
--cc=liam@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=pfalcato@suse.de \
--cc=rientjes@google.com \
--cc=roman.gushchin@linux.dev \
--cc=shakeel.butt@linux.dev \
--cc=surenb@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.