On Tue, Aug 29, 2023 at 7:11 PM <andrey.konovalov@xxxxxxxxx> wrote: > > From: Andrey Konovalov <andreyknvl@xxxxxxxxxx> > > Instead of storing stack records in stack depot pools one right after > another, use 32-frame-sized slots. I am slightly concerned about the KMSAN use case here, which defines KMSAN_STACK_DEPTH to 64. I don't have a comprehensive stack depth breakdown, but a quick poking around syzkaller.appspot.com shows several cases where the stacks are actually longer than 32 frames. Can you add a config parameter for the stack depth instead of mandating 32 frames everywhere? As a side note, kmsan_internal_chain_origin() (https://elixir.bootlin.com/linux/latest/source/mm/kmsan/core.c#L214) creates small 3-frame records in the stack depot to link two stacks together, which will add unnecessary stackdepot pressure. But this can be fixed by storing both the new stack trace and the link to the old stack trace in the same record.