Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Sep 2016 12:01:15 +0200
From:      Franco Fichtner <franco@lastsummer.de>
To:        Dirk Meyer <dirk.meyer@dinoex.sub.org>
Cc:        freebsd-ports <freebsd-ports@freebsd.org>
Subject:   Re: OpenSSL port ASM removal
Message-ID:  <9E14976D-78C4-4C0D-B950-64956A87D982@lastsummer.de>
In-Reply-To: <C53200E7-D8BC-498F-A1EB-4006C55BF69D@lastsummer.de>
References:  <71AF3315-6CB0-469D-A289-780C286A2D21@lastsummer.de> <k%2BlbJAUOvG@dmeyer.dinoex.sub.org> <C53200E7-D8BC-498F-A1EB-4006C55BF69D@lastsummer.de>

next in thread | previous in thread | raw e-mail | index | archive | help

> On 19 Sep 2016, at 11:35 AM, Franco Fichtner <franco@lastsummer.de> =
wrote:
>=20
> 3. Is AESNI support considered a must-have feature for the
> OpenSSL port in FreeBSD or not?  How about base OpenSSL?  And
> how does this affect the plans to switch to OpenSSL from ports
> by default that would potentially strip AESNI support from all
> ports relying on it at the moment?

Some data off a FreeBSD 10.3 with base and ports OpenSSL/LibreSSL.
Base OpenSSL and ports LibreSSL are both four times faster than
ports OpenSSL in the default configuration for the particular
envelope mode.  The only fix here was the ASM option.

Segfaults in non-OpenSSL code that is OpenSSL-related hints to
improper linking/building between OpenSSL from ports and base.
I've done parallel builds for OpenSSL and LibreSSL from ports for
over a year and this doesn't happen unless there is something
stuck in the build system.

Please bring it back for the FreeBSD users that rely on AESNI and
do not have these problems.


Cheers,
Franco
--

+ uname -a
FreeBSD sensey64 10.3-RELEASE-p7 FreeBSD 10.3-RELEASE-p7 #0: Thu Aug 11 =
18:38:15 UTC 2016     =
root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64
+ /usr/bin/openssl version
OpenSSL 1.0.1s-freebsd  1 Mar 2016
+ /usr/bin/openssl speed -evp aes-128-cbc
Doing aes-128-cbc for 3s on 16 size blocks: 130910375 aes-128-cbc's in =
3.01s
Doing aes-128-cbc for 3s on 64 size blocks: 35016412 aes-128-cbc's in =
3.00s
Doing aes-128-cbc for 3s on 256 size blocks: 8989961 aes-128-cbc's in =
3.00s
Doing aes-128-cbc for 3s on 1024 size blocks: 2255832 aes-128-cbc's in =
3.00s
Doing aes-128-cbc for 3s on 8192 size blocks: 281046 aes-128-cbc's in =
3.00s
OpenSSL 1.0.1s-freebsd  1 Mar 2016
built on: date not available
options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) =
idea(int) blowfish(idx)=20
compiler: clang
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 =
bytes
aes-128-cbc     696375.19k   747016.79k   767143.34k   769990.66k   =
767442.94k

+ pkg query %n-%v openssl
openssl-1.0.2_15,1
+ /usr/local/bin/openssl version
WARNING: can't open config file: /usr/local/openssl/openssl.cnf
OpenSSL 1.0.2h  3 May 2016
+ /usr/local/bin/openssl speed -evp aes-128-cbc
WARNING: can't open config file: /usr/local/openssl/openssl.cnf
Doing aes-128-cbc for 3s on 16 size blocks: 31667033 aes-128-cbc's in =
3.01s
Doing aes-128-cbc for 3s on 64 size blocks: 8481827 aes-128-cbc's in =
3.04s
Doing aes-128-cbc for 3s on 256 size blocks: 2177621 aes-128-cbc's in =
3.09s
Doing aes-128-cbc for 3s on 1024 size blocks: 535092 aes-128-cbc's in =
3.03s
Doing aes-128-cbc for 3s on 8192 size blocks: 66121 aes-128-cbc's in =
3.02s
OpenSSL 1.0.2h  3 May 2016
built on: reproducible build, date unspecified
options:bn(64,64) md2(int) rc4(ptr,int) des(idx,cisc,16,int) =
aes(partial) idea(int) blowfish(idx)=20
compiler: cc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC =
-DOPENSSL_THREADS -pthread -D_THREAD_SAFE -D_REENTRANT -DDSO_DLFCN =
-DHAVE_DLFCN_H -DL_ENDIAN -O3 -Wall -O2 -pipe  -fstack-protector =
-fno-strict-aliasing
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 =
bytes
aes-128-cbc     168452.17k   178619.86k   180192.64k   180761.80k   =
179618.90k

+ pkg query %n-%v libressl
libressl-2.4.2
+ /usr/local/bin/openssl version
LibreSSL 2.4.2
+ /usr/local/bin/openssl speed -evp aes-128-cbc
Doing aes-128-cbc for 3s on 16 size blocks: 131903200 aes-128-cbc's in =
3.00s
Doing aes-128-cbc for 3s on 64 size blocks: 35044060 aes-128-cbc's in =
2.99s
Doing aes-128-cbc for 3s on 256 size blocks: 8969315 aes-128-cbc's in =
3.02s
Doing aes-128-cbc for 3s on 1024 size blocks: 2291514 aes-128-cbc's in =
3.09s
Doing aes-128-cbc for 3s on 8192 size blocks: 281113 aes-128-cbc's in =
3.01s
LibreSSL 2.4.2
built on: date not available
options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) =
idea(int) blowfish(idx)=20
compiler: information not available
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 =
bytes
aes-128-cbc     703483.73k   749558.59k   759448.36k   760388.16k   =
765632.07k=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9E14976D-78C4-4C0D-B950-64956A87D982>