From nobody Tue Nov 23 10:00:42 2021 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 2B58D18AC3CA; Tue, 23 Nov 2021 10:00:56 +0000 (UTC) (envelope-from freebsd@oldach.net) Received: from nuc.oldach.net (hmo.in-vpn.de [IPv6:2001:67c:1407:60::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "nuc.oldach.net", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Hz05J1DrPz3jtY; Tue, 23 Nov 2021 10:00:51 +0000 (UTC) (envelope-from freebsd@oldach.net) Received: from nuc.oldach.net (localhost [127.0.0.1]) by nuc.oldach.net (8.17.1/8.17.1/hmo17dec20) with ESMTPS id 1ANA0gEu055389 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Tue, 23 Nov 2021 11:00:42 +0100 (CET) (envelope-from freebsd@oldach.net) Received: (from hmo@localhost) by nuc.oldach.net (8.17.1/8.17.1/Submit) id 1ANA0g3x055387; Tue, 23 Nov 2021 11:00:42 +0100 (CET) (envelope-from freebsd@oldach.net) Message-Id: <202111231000.1ANA0g3x055387@nuc.oldach.net> Subject: Re: git: 32a2fed6e71f - stable/13 - openssl: Fix detection of ARMv7 and ARM64 CPU features In-Reply-To: <202111221814.1AMIED8D098242@gitrepo.freebsd.org> from Allan Jude at "22 Nov 2021 18:14:13" To: allanjude@FreeBSD.org (Allan Jude) Date: Tue, 23 Nov 2021 11:00:42 +0100 (CET) Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: freebsd@oldach.net (Helge Oldach) Sender: freebsd@oldach.net X-No-Archive: Yes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Greylist: inspected by milter-greylist-4.6.4 (nuc.oldach.net [0.0.0.0]); Tue, 23 Nov 2021 11:00:42 +0100 (CET) for IP:127.0.0.1 DOMAIN:localhost HELO:nuc.oldach.net FROM:freebsd@oldach.net RCPT: X-Rspamd-Queue-Id: 4Hz05J1DrPz3jtY X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of freebsd@oldach.net designates 2001:67c:1407:60::1 as permitted sender) smtp.mailfrom=freebsd@oldach.net X-Spamd-Result: default: False [-3.29 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; RCPT_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; DMARC_NA(0.00)[oldach.net]; NEURAL_HAM_LONG(-1.00)[-1.000]; MID_RHS_MATCH_FROMTLD(0.00)[]; NEURAL_HAM_SHORT(-0.99)[-0.995]; FROM_NO_DN(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:29670, ipnet:2001:67c:1400::/45, country:DE]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[] X-Spam: Yes X-ThisMailContainsUnwantedMimeParts: N Hi, Allan Jude wrote on Mon, 22 Nov 2021 19:14:13 +0100 (CET): > The branch stable/13 has been updated by allanjude: > > URL: https://cgit.FreeBSD.org/src/commit/?id=32a2fed6e71f896266d4c695754104d82a72c60d > > commit 32a2fed6e71f896266d4c695754104d82a72c60d > Author: Allan Jude > AuthorDate: 2021-11-19 15:14:30 +0000 > Commit: Allan Jude > CommitDate: 2021-11-22 18:12:20 +0000 > > openssl: Fix detection of ARMv7 and ARM64 CPU features > > OpenSSL assumes the same value for AT_HWCAP=16 (Linux) > So it ends up calling elf_auxv_info() with AT_CANARY which > returns ENOENT, and all acceleration features are disabled. > > With this, my ARM64 test machine runs the benchmark > `openssl speed -evp aes-256-gcm` nearly 20x faster > going from 100 MB/sec to 2000 MB/sec > > It also improves sha256 from 300 MB/sec to 1800 MB/sec > > This fix has been accepted but not yet merged upstream: > https://github.com/openssl/openssl/pull/17082 > > PR: 259937 > Reviewed by: manu, imp > MFC after: immediate > Relnotes: yes > Fixes: 88e852c0b5c872b1a ("OpenSSL: Merge OpenSSL 1.1.1j") > Sponsored by: Ampere Computing LLC > Sponsored by: Klara Inc. > Differential Revision: https://reviews.freebsd.org/D33060 > > (cherry picked from commit d9bb798725cfce9c72b80440659b48e8668eb10d) Hmmm. On a RPi4/8G: Before (FreeBSD 13.0-STABLE (GENERIC) #366 stable/13-n248173-d16fbc488e6): | Doing aes-256-gcm for 3s on 16 size blocks: 6710997 aes-256-gcm's in 3.00s | Doing aes-256-gcm for 3s on 64 size blocks: 1806261 aes-256-gcm's in 3.00s | Doing aes-256-gcm for 3s on 256 size blocks: 468595 aes-256-gcm's in 3.00s | Doing aes-256-gcm for 3s on 1024 size blocks: 121282 aes-256-gcm's in 3.00s | Doing aes-256-gcm for 3s on 8192 size blocks: 14590 aes-256-gcm's in 3.00s | Doing aes-256-gcm for 3s on 16384 size blocks: 7258 aes-256-gcm's in 3.00s | OpenSSL 1.1.1l-freebsd 24 Aug 2021 | built on: reproducible build, date unspecified | options:bn(64,64) rc4(int) des(int) aes(partial) idea(int) blowfish(ptr) | compiler: clang | The 'numbers' are in 1000s of bytes per second processed. | type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes | aes-256-gcm 35791.98k 38533.57k 39986.77k 41397.59k 39840.43k 39638.36k After (FreeBSD 13.0-STABLE (GENERIC) #367 stable/13-n248176-f085bb0e621) | Doing aes-256-gcm for 3s on 16 size blocks: 3999944 aes-256-gcm's in 3.01s | Doing aes-256-gcm for 3s on 64 size blocks: 1102925 aes-256-gcm's in 3.04s | Doing aes-256-gcm for 3s on 256 size blocks: 279608 aes-256-gcm's in 3.03s | Doing aes-256-gcm for 3s on 1024 size blocks: 69397 aes-256-gcm's in 3.00s | Doing aes-256-gcm for 3s on 8192 size blocks: 9160 aes-256-gcm's in 3.14s | Doing aes-256-gcm for 3s on 16384 size blocks: 4385 aes-256-gcm's in 3.00s | OpenSSL 1.1.1l-freebsd 24 Aug 2021 | built on: reproducible build, date unspecified | options:bn(64,64) rc4(int) des(int) aes(partial) idea(int) blowfish(ptr) | compiler: clang | The 'numbers' are in 1000s of bytes per second processed. | type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes | aes-256-gcm 21277.62k 23226.64k 23613.90k 23687.51k 23892.93k 23947.95k It seems that AES throughput is actually cut by almost half? Kind regards Helge