From: Vlastimil Babka <vbabka@suse.cz>
To: Doug Smythies <dsmythies@telus.net>,
'Andrew Morton' <akpm@linux-foundation.org>
Cc: 'Michael Matz' <matz@suse.de>,
'Gabriel Krisman Bertazi' <gabriel@krisman.be>,
'Matthias Bodenbinder' <matthias@bodenbinder.de>,
'Lorenzo Stoakes' <lorenzo.stoakes@oracle.com>,
'Yang Shi' <yang@os.amperecomputing.com>,
linux-kernel@vger.kernel.org, linux-mm@vger.kernel.org
Subject: Re: REGRESSION BISECTED mm, mmap: limit THP alignment of anonymous mappings to PMD-aligned sizes
Date: Tue, 4 Feb 2025 12:04:13 +0100 [thread overview]
Message-ID: <8f84691b-4b48-46da-9c47-e1f41bd503e1@suse.cz> (raw)
In-Reply-To: <019401db769f$961e7e20$c25b7a60$@telus.net>
On 2/4/25 01:56, Doug Smythies wrote:
> Hello,
>
> Note: The CC list is a guess, and I am not on the two vger.kernel.org lists.
>
> After observing a 30% reduction in the ebizzy benchmark performance, I bisected the kernel and got:
>
> doug@s19:~/kernel/linux$ git bisect bad
> d4148aeab412432bf928f311eca8a2ba52bb05df is the first bad commit
> commit d4148aeab412432bf928f311eca8a2ba52bb05df
> Author: Vlastimil Babka <vbabka@suse.cz>
> Date: Thu Oct 24 17:12:29 2024 +0200
>
> mm, mmap: limit THP alignment of anonymous mappings to PMD-aligned sizes
Thanks for the report. That commit fixed regressions of other workloads, but
since it's tweaking a heuristic related to THPs that can have both positive
and negative consequences, it's not surprising to see that another workload
can regress.
Since that commit is implicated, there should have been a matching
improvement for this workload in 6.7 thanks to commit efa7df3e3bb5 ?
I guess one option to proceed would be to check what kind of mappings ebizzy
creates for its performance sensitive operations, and see if they e.g. were
backed by THPs before d4148aeab41 and now they aren't. Maybe some simple
adjustment to ebizzy's allocations is possible to achieve the better
performance always and not rely on this particular heuristic.
> As a double check I reverted the commit, on top of kernel 6.14-rc1.
> I had to manually revert it, due to other changes since then.
> The previous performance of the benchmark was restored.
>
> I actually use the sleeping-ebizzy benchmark [1].
> I use it for idle governor testing because it has yielded interesting results in the past.
> And sweep over a range of sleep times. Example graphs attached.
>
> Legend (regression average is over interval range from 400 to 3600 uSec):
>
> teo611: kernel 6.11, teo idle governor. Reference.
> teo614: kernel 6.14-rc1, teo idle governor. Regression 25.7%
> teo612: kernel 6.12, teo idle governor. Regression 24.4%
> teo613: kernel 6.13, teo idle governor. Regression 25.1%
> teo614-revert: kernel 6.14-rc1, with this patch reverted, teo idle governor. No regression, 1.4%
> menu: kernel 6.14-rc1, menu idle governor. Regression 26.4%
>
> Example command:
> ./ebizzy -m -S 20 -t 128 -a 1 -i 400
>
> My processor: Intel(R) Core(TM) i5-10600K CPU @ 4.10GHz
> Distro: Ubuntu 24.04, server, no desktop GUI.
>
> [1] https://github.com/pratiksampat/sleeping-ebizzy
>
> Doug Smythies
>
>
> interval-sweep.png
>
>
> relative-performance.png
>
next prev parent reply other threads:[~2025-02-04 11:04 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-04 0:56 REGRESSION BISECTED mm, mmap: limit THP alignment of anonymous mappings to PMD-aligned sizes Doug Smythies
2025-02-04 11:04 ` Vlastimil Babka [this message]
2025-02-05 4:35 ` Doug Smythies
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=8f84691b-4b48-46da-9c47-e1f41bd503e1@suse.cz \
--to=vbabka@suse.cz \
--cc=akpm@linux-foundation.org \
--cc=dsmythies@telus.net \
--cc=gabriel@krisman.be \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@vger.kernel.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=matthias@bodenbinder.de \
--cc=matz@suse.de \
--cc=yang@os.amperecomputing.com \
/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