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.