linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Mikhail Gavrilov <mikhail.v.gavrilov@gmail.com>
To: Marco Elver <elver@google.com>
Cc: glider@google.com, dvyukov@google.com, eugenis@google.com,
	 Oscar Salvador <osalvador@suse.de>,
	Vlastimil Babka <vbabka@suse.cz>,
	 Andrew Morton <akpm@linux-foundation.org>,
	 Linux List Kernel Mailing <linux-kernel@vger.kernel.org>,
	 Linux Memory Management List <linux-mm@kvack.org>,
	Andrey Konovalov <andreyknvl@gmail.com>
Subject: Re: regression/bisected commit 773688a6cb24b0b3c2ba40354d883348a2befa38 make my system completely unusable under high load
Date: Tue, 30 Jan 2024 03:25:25 +0500	[thread overview]
Message-ID: <CABXGCsOp3Djn5uQYb3f=4k1m9rY9y3Ext9SMavWAFRTcKwtNMA@mail.gmail.com> (raw)
In-Reply-To: <CABXGCsM+9TxxY-bOUw6MyRV7CSZsyQpfDgvwgaBBKk9UONJkBw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2632 bytes --]

On Fri, Jan 19, 2024 at 10:54 PM Mikhail Gavrilov
<mikhail.v.gavrilov@gmail.com> wrote:
>
I continued to search regressions in 6.8 kernel.
And found another one.

cc478e0b6bdffd20561e1a07941a65f6c8962cab is the first bad commit
commit cc478e0b6bdffd20561e1a07941a65f6c8962cab
Author: Andrey Konovalov <andreyknvl@gmail.com>
Date:   Tue Jan 9 23:12:34 2024 +0100

    kasan: avoid resetting aux_lock

    With commit 63b85ac56a64 ("kasan: stop leaking stack trace handles"),
    KASAN zeroes out alloc meta when an object is freed.  The zeroed out data
    purposefully includes alloc and auxiliary stack traces but also
    accidentally includes aux_lock.

    As aux_lock is only initialized for each object slot during slab creation,
    when the freed slot is reallocated, saving auxiliary stack traces for the
    new object leads to lockdep reports when taking the zeroed out aux_lock.

    Arguably, we could reinitialize aux_lock when the object is reallocated,
    but a simpler solution is to avoid zeroing out aux_lock when an object
    gets freed.

    Link: https://lkml.kernel.org/r/20240109221234.90929-1-andrey.konovalov@linux.dev
    Fixes: 63b85ac56a64 ("kasan: stop leaking stack trace handles")
    Signed-off-by: Andrey Konovalov <andreyknvl@gmail.com>
    Reported-by: Paul E. McKenney <paulmck@kernel.org>
    Closes: https://lore.kernel.org/linux-next/5cc0f83c-e1d6-45c5-be89-9b86746fe731@paulmck-laptop/
    Reviewed-by: Marco Elver <elver@google.com>
    Tested-by: Paul E. McKenney <paulmck@kernel.org>
    Cc: Alexander Potapenko <glider@google.com>
    Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Cc: Liam R. Howlett <Liam.Howlett@oracle.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

 mm/kasan/generic.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)


Here I spotted a dropped FPS in the game "Shadow of the Tomb Raider".
For measuring performance I used an internal benchmark.
Before commit cc478e0b6bdffd20561e1a07941a65f6c8962cab was 111FPS on
commit aaa2c9a97c22af5bf011f6dd8e0538219b45af88 [1].
On commit cc478e0b6bdffd20561e1a07941a65f6c8962cab I has only 63FPS [2]
And unfortunately the stackdepot patchset which I applied on top of
6.8-rc2 didn't restore initial performance [3].

[1] https://i.postimg.cc/tgvwPTkz/c11-aaa2c9a97c22af5bf011f6dd8e0538219b45af88.png
[2] https://i.postimg.cc/pX8vHDCM/c10-cc478e0b6bdffd20561e1a07941a65f6c8962cab.png
[3] https://i.postimg.cc/hvWCb7dV/6-8-0-0-rc2-with-stackdepot.png

-- 
Best Regards,
Mike Gavrilov.

[-- Attachment #2: bisect-performance-regression-in-games2.zip --]
[-- Type: application/zip, Size: 1235 bytes --]

[-- Attachment #3: .config.zip --]
[-- Type: application/zip, Size: 65242 bytes --]

  reply	other threads:[~2024-01-29 22:25 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-19 10:46 Mikhail Gavrilov
2024-01-19 10:54 ` Marco Elver
2024-01-19 10:59   ` Marco Elver
2024-01-19 17:54     ` Mikhail Gavrilov
2024-01-29 22:25       ` Mikhail Gavrilov [this message]
2024-01-29 23:14         ` Andrey Konovalov
2024-02-01 22:08           ` Mikhail Gavrilov
2024-02-02  9:00             ` Marco Elver
2024-02-02 16:35               ` Mikhail Gavrilov
2024-02-02 16:47                 ` Marco Elver
2024-02-02 17:19                   ` Marco Elver
2024-02-02 20:14                     ` Mikhail Gavrilov
2024-02-19  9:48                       ` Mikhail Gavrilov
2024-02-19  9:52                         ` Marco Elver
2024-02-19 10:09                           ` Vlastimil Babka
2024-02-19 23:28                             ` Andrew Morton
2024-02-19 23:50                               ` Vlastimil Babka
2024-02-20  5:37                                 ` Mikhail Gavrilov
2024-02-20 17:30                                   ` Andrew Morton
2024-02-20 18:16                                     ` Vlastimil Babka
2024-02-20 18:51                                       ` Marco Elver
2024-02-26  9:25                                         ` Marco Elver
2024-02-26 10:12                                           ` Vlastimil Babka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CABXGCsOp3Djn5uQYb3f=4k1m9rY9y3Ext9SMavWAFRTcKwtNMA@mail.gmail.com' \
    --to=mikhail.v.gavrilov@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=andreyknvl@gmail.com \
    --cc=dvyukov@google.com \
    --cc=elver@google.com \
    --cc=eugenis@google.com \
    --cc=glider@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=osalvador@suse.de \
    --cc=vbabka@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox