Re: [PATCH v6 1/4] mm/slub: enable debugging memory wasting of kmalloc
From: Feng Tang
Date: Mon Oct 31 2022 - 07:43:17 EST
On Mon, Oct 31, 2022 at 10:05:58AM +0000, John Thomson wrote:
> On Mon, 31 Oct 2022, at 02:36, Feng Tang wrote:
> >> >
> >> > possibly relevant config options:
> >> > grep -E '(SLUB|SLAB)' .config
> >> > # SLAB allocator options
> >> > # CONFIG_SLAB is not set
> >> > CONFIG_SLUB=y
> >> > CONFIG_SLAB_MERGE_DEFAULT=y
> >> > # CONFIG_SLAB_FREELIST_RANDOM is not set
> >> > # CONFIG_SLAB_FREELIST_HARDENED is not set
> >> > # CONFIG_SLUB_STATS is not set
> >> > CONFIG_SLUB_CPU_PARTIAL=y
> >> > # end of SLAB allocator options
> >> > # CONFIG_SLUB_DEBUG is not set
> >>
> >> Also not having CONFIG_SLUB_DEBUG enabled means most of the code the
> >> patch/commit touches is not even active.
> >> Could this be some miscompile or code layout change exposing some
> >> different bug, hmm.
>
> Yes, it could be.
>
> >> Is it any different if you do enable CONFIG_SLUB_DEBUG ?
>
> No change
>
> >> Or change to CONFIG_SLAB? (that would be really weird if not)
>
> This boots fine
>
> > I haven't found any clue from the code either, and I compiled
> > kernel with the config above and tested booting on an Alder-lake
> > desktop and a QEMU, which boot fine.
> >
> > Could you provide the full kernel config and demsg (in compressed
> > format if you think it's too big), so we can check more?
>
> Attached
>
> > Thanks,
> > Feng
>
> vmlinux is bigger, and entry point is larger (0x8074081c vs 0x807407dc revert vs 0x8073fcbc),
> so that may be it? Or not?
> revert + SLUB_DEBUG + SLUB_DEBUG_ON is bigger still, but does successfully boot.
> vmlinux entry point is 0x8074705c
Thanks for prompt info!
As I can't reproduce it locally yet, could you help try 3 tests separately:
* change the O2/O3 compile option to O1
* try the attached 0001 patch (which cut part of commit)
* try attached 0001+0002 patch
Thanks!
- Feng