lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <019401db769f$961e7e20$c25b7a60$@telus.net>
Date: Mon, 3 Feb 2025 16:56:12 -0800
From: "Doug Smythies" <dsmythies@...us.net>
To: "'Vlastimil Babka'" <vbabka@...e.cz>,
	"'Andrew Morton'" <akpm@...ux-foundation.org>
Cc: "'Michael Matz'" <matz@...e.de>,
	"'Gabriel Krisman Bertazi'" <gabriel@...sman.be>,
	"'Matthias Bodenbinder'" <matthias@...enbinder.de>,
	"'Lorenzo Stoakes'" <lorenzo.stoakes@...cle.com>,
	"'Yang Shi'" <yang@...amperecomputing.com>,
	"Doug Smythies" <dsmythies@...us.net>,
	<linux-kernel@...r.kernel.org>,
	<linux-mm@...r.kernel.org>
Subject: REGRESSION BISECTED mm, mmap: limit THP alignment of anonymous mappings to PMD-aligned sizes

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@...e.cz>
Date:   Thu Oct 24 17:12:29 2024 +0200

    mm, mmap: limit THP alignment of anonymous mappings to PMD-aligned sizes

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


Download attachment "interval-sweep.png" of type "image/png" (32339 bytes)

Download attachment "relative-performance.png" of type "image/png" (42078 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ