linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* Potential Regression in futex Performance from v6.9 to v6.10-rc1 and v6.11-rc4
@ 2024-09-03 12:21 Anders Roxell
  2024-09-03 12:37 ` David Hildenbrand
  0 siblings, 1 reply; 5+ messages in thread
From: Anders Roxell @ 2024-09-03 12:21 UTC (permalink / raw)
  To: David Hildenbrand
  Cc: Arnd Bergmann, Thomas Gleixner, Ingo Molnar, Peter Zijlstra,
	dvhart, dave, andrealmeid, Linux Kernel Mailing List, Linux-MM

Hi,

I've noticed that the futex01-thread-* tests in will-it-scale-sys-threads
are running about 2% slower on v6.10-rc1 compared to v6.9, and this
slowdown continues with v6.11-rc4. I am focused on identifying any
performance regressions greater than 2% that occur in automated
testing on arm64 HW.

Using git bisect, I traced the issue to commit
f002882ca369 ("mm: merge folio_is_secretmem() and
folio_fast_pin_allowed() into gup_fast_folio_allowed()").

My tests were performed on m7g.large and m7g.metal instances:

* The slowdown is consistent regardless of the number of threads;
   futex1-threads-128 performs similarly to futex1-threads-2, indicating
   there is no scalability issue, just a minor performance overhead.
* The test doesn’t involve actual futex operations, just dummy wake/wait
   on a variable that isn’t accessed by other threads, so the results might
   not be very significant.

Given that this seems to be a minor increase in code path length rather
than a scalability issue, would this be considered a genuine regression?


Cheers,
Anders


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-09-04 15:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-09-03 12:21 Potential Regression in futex Performance from v6.9 to v6.10-rc1 and v6.11-rc4 Anders Roxell
2024-09-03 12:37 ` David Hildenbrand
2024-09-04 10:05   ` Anders Roxell
2024-09-04 13:47     ` David Hildenbrand
2024-09-04 15:51       ` Anders Roxell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox