From nobody Wed Nov 24 08:30:16 2021 X-Original-To: dev-commits-src-branches@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 91B4A1896F1C; Wed, 24 Nov 2021 08:30:25 +0000 (UTC) (envelope-from manu@bidouilliste.com) Received: from mx.blih.net (mail.blih.net [212.83.155.74]) (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 "mx.blih.net", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4HzZ2T0S6nz4RkN; Wed, 24 Nov 2021 08:30:24 +0000 (UTC) (envelope-from manu@bidouilliste.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bidouilliste.com; s=mx; t=1637742617; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tYiEr10/6+7jno9c8vHWRPpN5+CSDeuoI/200KavUV0=; b=MOur7XlbaYcI9uiPa9YFpdX1XthTOxfKMz42FICeh6BOHKlDJJ/APE7D1hiK/nMgGSLeOG KpWoj5OKkjtM/+7fg9VJzm775SY3EFTDBlEJESo6/krPu5PJzzVeYUEdkcEXqzwhsPuzQz 76qiFgzXRp3+JCkZANX7Q8vbOE4Yc/8= Received: from skull.home.blih.net (lfbn-idf2-1-1163-183.w90-92.abo.wanadoo.fr [90.92.222.183]) by mx.blih.net (OpenSMTPD) with ESMTPSA id 3ca87efe (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Wed, 24 Nov 2021 08:30:17 +0000 (UTC) Date: Wed, 24 Nov 2021 09:30:16 +0100 From: Emmanuel Vadot To: freebsd@oldach.net (Helge Oldach) Cc: allanjude@freebsd.org (Allan Jude), src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: Re: git: 32a2fed6e71f - stable/13 - openssl: Fix detection of ARMv7 and ARM64 CPU features Message-Id: <20211124093016.e031bc2e2e935d1c67dbc0ae@bidouilliste.com> In-Reply-To: <202111231936.1ANJaeDT011754@nuc.oldach.net> References: <202111231936.1ANJaeDT011754@nuc.oldach.net> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; amd64-portbld-freebsd14.0) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4HzZ2T0S6nz4RkN X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-ThisMailContainsUnwantedMimeParts: N On Tue, 23 Nov 2021 20:36:40 +0100 (CET) freebsd@oldach.net (Helge Oldach) wrote: > Allan Jude wrote on Tue, 23 Nov 2021 20:14:53 +0100 (CET): > > On 11/23/2021 5:00 AM, Helge Oldach wrote: > > > Allan Jude wrote on Mon, 22 Nov 2021 19:14:13 +0100 (CET): > > > Hmmm. On a RPi4/8G: > > > > > > Before (FreeBSD 13.0-STABLE (GENERIC) #366 stable/13-n248173-d16fbc488e6): > > > | 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) > > > > > > | 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? > > > > Do you know which of the CPU optimizations your RPi4 supports? > > Is this what you need? > > Instruction Set Attributes 0 = So there is no AES+PMULL instruction set on RPI4, I guess that openssl uses them for aes-gcm. I wonder what it uses before that make it have this boost. On my rockpro64 I do see the improvement btw : root@generic:~ # cpuset -l 4,5 openssl speed -evp aes-256-gcm ... aes-256-gcm 122861.59k 337938.39k 565408.44k 661223.09k 709175.19k 712327.25k root@generic:~ # cpuset -l 4,5 env OPENSSL_armcap=0 openssl speed -evp aes-256-gcm ... aes-256-gcm 34068.11k 38068.62k 39435.24k 39818.75k 39905.34k 39922.35k Running on the big cores at max freq. > Instruction Set Attributes 1 = <> > Processor Features 0 = > Processor Features 1 = <> > Memory Model Features 0 = > Memory Model Features 1 = <8bit VMID> > Memory Model Features 2 = <32bit CCIDX,48bit VA> > Debug Features 0 = > Debug Features 1 = <> > Auxiliary Features 0 = <> > Auxiliary Features 1 = <> > AArch32 Instruction Set Attributes 5 = > AArch32 Media and VFP Features 0 = > AArch32 Media and VFP Features 1 = > > > You can set the environment variable OPENSSL_armcap to override > > OpenSSL's detection. > > > > Try: env OPENSSL_armcap=0 openssl speed -evp aes-256-gcm > > On FreeBSD 13.0-STABLE (GENERIC) #367 stable/13-n248176-f085bb0e621 again (i.e. after this commit): > > hmo@p48 ~ $ env OPENSSL_armcap=0 openssl speed -evp aes-256-gcm > Doing aes-256-gcm for 3s on 16 size blocks: 6445704 aes-256-gcm's in 3.08s > Doing aes-256-gcm for 3s on 64 size blocks: 1861149 aes-256-gcm's in 3.00s > Doing aes-256-gcm for 3s on 256 size blocks: 479664 aes-256-gcm's in 3.01s > Doing aes-256-gcm for 3s on 1024 size blocks: 122853 aes-256-gcm's in 3.04s > Doing aes-256-gcm for 3s on 8192 size blocks: 15181 aes-256-gcm's in 3.00s > Doing aes-256-gcm for 3s on 16384 size blocks: 7796 aes-256-gcm's in 3.07s > 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 33504.57k 39704.51k 40825.01k 41394.83k 41454.25k 41601.52k > hmo@p48 ~ $ openssl speed -evp aes-256-gcm > Doing aes-256-gcm for 3s on 16 size blocks: 4066201 aes-256-gcm's in 3.00s > Doing aes-256-gcm for 3s on 64 size blocks: 1087387 aes-256-gcm's in 3.00s > Doing aes-256-gcm for 3s on 256 size blocks: 280110 aes-256-gcm's in 3.03s > Doing aes-256-gcm for 3s on 1024 size blocks: 70412 aes-256-gcm's in 3.04s > Doing aes-256-gcm for 3s on 8192 size blocks: 8762 aes-256-gcm's in 3.00s > Doing aes-256-gcm for 3s on 16384 size blocks: 4402 aes-256-gcm's in 3.02s > 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 21686.41k 23197.59k 23656.30k 23725.04k 23926.10k 23916.23k > hmo@p48 ~ $ > > Kind regards, > Helge -- Emmanuel Vadot