[Bug 1999551] Re: glibc: backport AArch64 mem{cpy,cmp} improvements
Launchpad Bug Tracker
1999551 at bugs.launchpad.net
Tue Sep 12 15:48:24 UTC 2023
This bug was fixed in the package glibc - 2.35-0ubuntu3.3
---------------
glibc (2.35-0ubuntu3.3) jammy; urgency=medium
* Drop SVE patches due to kernal-related performance regression
* Fix the armhf stripping exception for ld.so (LP: #1927192)
glibc (2.35-0ubuntu3.2) jammy; urgency=medium
* d/rules.d/debhelper.mk: fix permissions of libc.so (LP: #1989082)
* Cherry-picks from upstream:
- d/p/lp1999551/*: arm64 memcpy optimization (LP: #1999551)
- d/p/lp1995362*.patch: Fix ldd segfault with missing libs (LP: #1995362)
- d/p/lp2007796*: Fix missing cancellation point in pthread (LP: #2007796)
- d/p/lp2007599*: add new tunables for s390x (LP: #2007599)
- d/p/lp2011421/*: Fix crash on TDX-enabled platforms (LP: #2011421)
- d/p/lp1992159*: Fix socket.h headers for non-GNU compilers (LP: #1992159)
-- Simon Chopin <schopin at ubuntu.com> Wed, 26 Jul 2023 10:27:54 +0200
** Changed in: glibc (Ubuntu Jammy)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1999551
Title:
glibc: backport AArch64 mem{cpy,cmp} improvements
Status in glibc package in Ubuntu:
Fix Released
Status in glibc source package in Focal:
Fix Committed
Status in glibc source package in Jammy:
Fix Released
Status in glibc source package in Kinetic:
Fix Released
Bug description:
[impact]
There have been relatively recent improvements to the memcmp and
memcpy routines for server-grade AArch64 implementation, in particular
AWS's Graviton3.
We'd like to backport those improvements to Jammy and Focal when
appropriate, under the HWE umbrella.
The relevant patches are
https://sourceware.org/git/?p=glibc.git;a=commit;h=9f298bfe1f183804bb54b54ff9071afc0494906c (Jammy & Focal)
https://sourceware.org/git/?p=glibc.git;a=commit;h=b51eb35c572b015641f03e3682c303f7631279b7 (Focal only, already present in Jammy)
In addition, to be able to actually test the changes and its impact on
all architectures, we'll need the following fix:
https://sourceware.org/git/?p=glibc.git;a=commit;h=311a7e0256975275d97077f1af338bc9caf0c837
[test case]
Since those are optimization patches, we'll be relying on the
autopkgtests triggered by the upload for regression detection.
However, we'll also benchmark the optimizations on Graviton AWS
instances as well as various Raspberry Pi models to ensure there is no
severe performance regression on those platforms.
To do the performance test, first install the libc from this PPA:
https://launchpad.net/~schopin/+archive/ubuntu/glibc-benchmark
that is the current Jammy glibc with the extra fix for benchmarking.
Then, untar the attached archive bench-timing.tar.xz on the target
platform, and follow the instructions from the README.
[Regression potential]
This could potentially impact performance on other, non-server-grade
arm64 platforms such as RPi. Furthermore, there could be unforeseen
issues with the newly optimized routine in edge cases (a recent amd64
optimization had issues on page boundaries, for instance).
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1999551/+subscriptions
More information about the foundations-bugs
mailing list