TLS does not invoke hardware acceleration except on Intel/AMD platform

Mark Hack markhack at markhack.com
Wed Sep 25 17:02:19 UTC 2019


This was on 1.0.2 and I just checked 1.1.1, and for libssl I still only
see the call for libcrypto. I can recompile and confirm later in the
day to be 100% certain.



On Wed, 2019-09-25 at 16:26 +0100, Matt Caswell wrote:
> 
> On 25/09/2019 15:26, Mark Hack wrote:
> > ssl_algs.c is missing the required call to OPENSSL_cpuid_setup()
> > which
> > means that all the platforms which rely on the CPU ID to be set
> > (everything except Intel/AMD) never use any of the EVP calls and do
> > not
> > hardware accelerate TLS. Yes, the performance tests work but these
> > do
> > not use libssl.
> > 
> > Patching ssl_algs.c corrects this and the performance improvement
> > is
> > immediatly noticable. This is the patch applied and tested on PPC.
> > 
> > int SSL_library_init(void)
> > {
> > 	OPENSSL_cpuid_init_setup();	/* Identify the HW platform */
> > 
> > ...
> 
> Which version of OpenSSL do you see this in? In 1.1.1 at least I see
> the call to
> OPENSSL_cpuid_setup() in the default initialisation code:
> 
> 
https://github.com/openssl/openssl/blob/19bd1fa1ef17ff0ac071402cb6b002f1c29e37b9/crypto/init.c#L45-L70
> 
> Matt
> 



More information about the openssl-users mailing list