[PATCH] zlib: Fix big performance regression

Tom Rini trini at konsulko.com
Thu Jun 27 21:40:06 CEST 2024


On Thu, Jun 27, 2024 at 01:34:55PM -0600, Tom Rini wrote:
> On Thu, Jun 27, 2024 at 10:25:21AM +0200, Christophe Leroy wrote:
> 
> > Commit 340fdf1303dc ("zlib: Port fix for CVE-2016-9841 to U-Boot")
> > brings a big performance regression in inflate_fast(), which leads
> > to watchdog timer reset on powerpc 8xx.
> > 
> > It looks like that commit does more than what it describe, it
> > especially removed an important optimisation that was doing copies
> > using halfwords instead of bytes. That unexpected change multiplied
> > by almost 4 the time spent in inflate_fast() and increased by 40%
> > the overall time needed to uncompress linux kernel image.
> > 
> > So partially revert that commit but keep post incrementation as it
> > is the initial purpose of said commit.
> > 
> > Fixes: 340fdf1303dc ("zlib: Port fix for CVE-2016-9841 to U-Boot")
> > Signed-off-by: Christophe Leroy <christophe.leroy at csgroup.eu>
> > ---
> >  lib/zlib/inffast.c | 51 ++++++++++++++++++++++++++++++++++++----------
> >  1 file changed, 40 insertions(+), 11 deletions(-)
> 
> Both this, and my mostly revert lead to CI failures around compression
> tests:
> https://source.denx.de/u-boot/u-boot/-/jobs/859329

A full revert however, is fine.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20240627/815e0e48/attachment.sig>


More information about the U-Boot mailing list