regression/bisected commit 773688a6cb24b0b3c2ba40354d883348a2befa38 make my system completely unusable under high load

From: Mikhail Gavrilov
Date: Fri Jan 19 2024 - 05:51:51 EST


Hi,
I use a system with KASAN sanitizer everyday.
Because I want to catch difficult-to-repeat bugs.
And all worked fine until commit 773688a6cb24b0b3c2ba40354d883348a2befa38.
After commit 773688a6cb24b0b3c2ba40354d883348a2befa38 all working
jerky when I compile something.
The sound is interrupted, the cursor moves jerkily if I try to do
anything when all the cores are loaded.

> git bisect bad
773688a6cb24b0b3c2ba40354d883348a2befa38 is the first bad commit
commit 773688a6cb24b0b3c2ba40354d883348a2befa38
Author: Andrey Konovalov <andreyknvl@xxxxxxxxxx>
Date: Mon Nov 20 18:47:19 2023 +0100

kasan: use stack_depot_put for Generic mode

Evict alloc/free stack traces from the stack depot for Generic KASAN once
they are evicted from the quaratine.

For auxiliary stack traces, evict the oldest stack trace once a new one is
saved (KASAN only keeps references to the last two).

Also evict all saved stack traces on krealloc.

To avoid double-evicting and mis-evicting stack traces (in case KASAN's
metadata was corrupted), reset KASAN's per-object metadata that stores
stack depot handles when the object is initialized and when it's evicted
from the quarantine.

Note that stack_depot_put is no-op if the handle is 0.

Link: https://lkml.kernel.org/r/5cef104d9b842899489b4054fe8d1339a71acee0.1700502145.git.andreyknvl@xxxxxxxxxx
Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx>
Reviewed-by: Marco Elver <elver@xxxxxxxxxx>
Cc: Alexander Potapenko <glider@xxxxxxxxxx>
Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx>
Cc: Evgenii Stepanov <eugenis@xxxxxxxxxx>
Cc: Oscar Salvador <osalvador@xxxxxxx>
Cc: Vlastimil Babka <vbabka@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>

mm/kasan/common.c | 3 ++-
mm/kasan/generic.c | 22 ++++++++++++++++++----
mm/kasan/quarantine.c | 26 ++++++++++++++++++++------
3 files changed, 40 insertions(+), 11 deletions(-)

I attached here my build .config and kernel log.
Who could dig into it, please?

--
Best Regards,
Mike Gavrilov.

Attachment: .config.zip
Description: Zip archive

Attachment: bisect-performance-regression-KASAN-log.zip
Description: Zip archive

Attachment: dmesg-performance-regression-KASAN.zip
Description: Zip archive