Re: Linux 5.9-rc7 / VmallocTotal wrongly reported

From: Roman Gushchin
Date: Thu Oct 01 2020 - 15:56:40 EST


On Thu, Oct 01, 2020 at 12:19:57PM -0700, Linus Torvalds wrote:
> Adding Vlastimil, Roman and the kernel mailing list to the cc.
>
> Vlastimil, Roman - this looks like a slab regression. And while others
> have touched slab in this merge window, you guys did so more than
> most.. Comments?

Thank you, Linus!

I think it's a regression from my slab controller changes, and I have a theory.
Bastian, can you, please, share your config?

I will come up with a patch soon.

Thanks!

>
> On Wed, Sep 30, 2020 at 11:55 PM Bastian Bittorf <bb@xxxxxx> wrote:
> >
> > Since 5.9-rc1 i can see false values, booting with qemu (128mb RAM):
> >
> > / # free
> > total used free shared buff/cache available
> > Mem: 122176 18014398506028288 114848 0 3461024 3568096
>
> that looks like a negative 64-bit number shifted down by 10 bits (bytes -> kB).
>
> > / # cat /proc/meminfo | grep ^V
> > VmallocTotal: 34359738367 kB
>
> .. but this part is normal. VMALLOC_TOTAL is the VM space for vmalloc
> areas, and it's large on a 64-bit machine.
>
> And afaik, it hasn't changed in a long time.
>
> So I think there's something else confusing 'free'.
>
> I think it's this:
>
> > / # cat /proc/meminfo
> > MemAvailable: 3617184 kB
> ..
> > Slab: 10321920 kB
> > SReclaimable: 3506176 kB
> > SUnreclaim: 6815744 kB
>
> because those slab reclaimable/unreclaimable numbers look completely
> bogus. You have more unreclaimable slab space than you have memory.
>
> Hmm. I'm not seeing anything similar. And your config looks sane, with
> the main difference I see wrt SLAB being that you have
>
> # CONFIG_SLAB_MERGE_DEFAULT is not set
>
> but there's nothing wrong with that either.
>
> It would be lovely if you could bisect it, but maybe Vlastimil or
> Roman will go "Ahh, obviously.."
>
> Linus