Re: [rfc/patch] mm/slub: restore/expand unfreeze_partials() local exclusion scope

From: Mike Galbraith
Date: Tue Jul 20 2021 - 07:26:46 EST


On Tue, 2021-07-20 at 10:56 +0200, Vlastimil Babka wrote:
>
> > crash> bt -sx
> > PID: 18761 TASK: ffff88812fff0000 CPU: 0 COMMAND: "hackbench"
> > #0 [ffff88818f8ff980] machine_kexec+0x14f at ffffffff81051c8f
> > #1 [ffff88818f8ff9c8] __crash_kexec+0xd2 at ffffffff8111ef72
> > #2 [ffff88818f8ffa88] crash_kexec+0x30 at ffffffff8111fd10
> > #3 [ffff88818f8ffa98] oops_end+0xd3 at ffffffff810267e3
> > #4 [ffff88818f8ffab8] exc_general_protection+0x195 at ffffffff8179fdb5
> > #5 [ffff88818f8ffb50] asm_exc_general_protection+0x1e at ffffffff81800a0e
> > [exception RIP: __unfreeze_partials+156]
>
> Hm going back to this report...

> So could it be that it was stillput_cpu_partial() preempting
> __slab_alloc() messing the partial list, but for some reason the
> put_cpu_partial() side crashed this time?

Thinking this bug is toast, I emptied the trash bin, so no can peek.

If need be, and nobody beats me to it (which ~guarantees nobody will
beat me to it;), I can make the thing go boom again easily enough.

-Mike