Re: [PATCH 1/1] mm/slab: fix 'variable obj_exts set but not used' warning
From: Vlastimil Babka
Date: Tue Jul 02 2024 - 05:31:15 EST
On 6/30/24 9:20 PM, Suren Baghdasaryan wrote:
> On Mon, Jun 17, 2024 at 3:04 AM Vlastimil Babka <vbabka@xxxxxxx> wrote:
>>
>> On 6/15/24 12:59 AM, Suren Baghdasaryan wrote:
>> > slab_post_alloc_hook() uses prepare_slab_obj_exts_hook() to obtain
>> > slabobj_ext object. Currently the only user of slabobj_ext object in
>> > this path is memory allocation profiling, therefore when it's not enabled
>> > this object is not needed. This also generates a warning when compiling
>> > with CONFIG_MEM_ALLOC_PROFILING=n. Move the code under this configuration
>> > to fix the warning. If more slabobj_ext users appear in the future, the
>> > code will have to be changed back to call prepare_slab_obj_exts_hook().
>> >
>> > Fixes: 4b8736964640 ("mm/slab: add allocation accounting into slab allocation and free paths")
>> > Reported-by: kernel test robot <lkp@xxxxxxxxx>
>> > Closes: https://lore.kernel.org/oe-kbuild-all/202406150444.F6neSaiy-lkp@xxxxxxxxx/
>> > Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>
>>
>> Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
>>
>> But it seems to me we could remove the whole #ifdef if current->alloc_tag
>> (which doesn't exist with !MEM_ALLOC_PROFILING) had an access helper, or
>> there was a alloc_tag_add_current() variant?
>
> Hmm. I'll check if current->alloc_tag is the only reason for this
> ifdef. If so then you are correct and we can simplify this code.
The fix is now in mm-hotfixes-stable but we can cleanup for the future as a
non-hotfix.