openssl on 64bit is much slower than before

Bug #940230 reported by cc on 2012-02-24
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
openssl (Ubuntu)
Undecided
Unassigned

Bug Description

Posting output of openssl speed on precise alpha and 10.04. Some quick googling seems to indicate issues with 64bit asm vs. the C version (might be a good idea to disable 64bit asm). This is on a processor *without* AES-NI (which is still very common).

Precise:
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128 cbc 61725.52k 67902.33k 69264.13k 146084.86k 148518.23k
aes-192 cbc 52222.95k 56592.77k 57542.04k 122330.11k 125277.32k
aes-256 cbc 44912.70k 48644.01k 49539.94k 105978.88k 107372.74k

Lucid:
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128 cbc 74876.87k 118355.41k 138862.76k 144140.50k 141562.78k
aes-192 cbc 82093.08k 110813.18k 120764.33k 118315.44k 118527.32k
aes-256 cbc 74760.65k 96842.01k 104520.45k 106615.81k 103481.34k

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: openssl 1.0.0g-1ubuntu1
ProcVersionSignature: Ubuntu 3.2.0-12.21-generic 3.2.2
Uname: Linux 3.2.0-12-generic x86_64
ApportVersion: 1.93-0ubuntu2
Architecture: amd64
Date: Fri Feb 24 02:33:44 2012
EcryptfsInUse: Yes
InstallationMedia: Ubuntu-Server 12.04 LTS "Precise Pangolin" - Alpha amd64 (20120201.1)
ProcEnviron:
 TERM=xterm-256color
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: openssl
UpgradeStatus: No upgrade log present (probably fresh install)

cc (codecrumb) wrote :
cc (codecrumb) wrote :

Here's a post that talks about the old assembly for 64bit x86.
http://zombe.es/post/4059999783/openssl-outmoded-asm

Performance is up to 50% worse for AES ciphers so I would think this is a must fix.

Patch available for RC4 on x86_64. http://cvs.openssl.org/filediff?f=openssl/crypto/rc4/asm/rc4-x86_64.pl&v1=1.12&v2=1.13

For the rest, the option should be to disable ASM for 64bit and rely on AESNI for processors with AES-NI support.
Possible patch here: http://dl.dropbox.com/u/24257718/openssl-1.0.0d-noasm_aes_rc4.patch

Another data point:
http://old.nabble.com/64-bit-OpenSSL-FIPS-1.2.3-with-asm-slow-performance-problems-on-AES-td32773268.html

Scott Moser (smoser) wrote :

Just a reference, I've seen something similar at bug 963420, but my initial tests have not shown significant difference in i386 compared to amd64.

cc (codecrumb) wrote :

Can you post some numbers to compare? Post the output of "openssl speed aes" for different scenarios at a minimum and specify your processor type.

There should be a comparison of both 32bit to 64bit on precise (which is what I think you are comparing) AND a comparison of ssl performance on precise and earlier distributions.

Here are the results of my latest round of testing, my hardy results are from a 32bit build:

http://pastebin.com/XrFUT8Zq

So looking at the results of aes-128 (which arguably is more important currently than -192 or -256 because of wider usage), results of 16 - 256 bytes are off significantly.

cc (codecrumb) on 2012-03-28
tags: added: performance
description: updated
cc (codecrumb) wrote :

Any decision on this?

The stopgap is not that hard. Disable ASM for 64bit and retest to see the performance numbers.

cc (codecrumb) wrote :

Just checking in 3 months later. Any chance on getting some movement on this for the next Precise update?

cc (codecrumb) on 2012-08-19
Changed in openssl (Ubuntu):
status: New → Confirmed
status: Confirmed → New
cc (codecrumb) on 2012-08-19
no longer affects: precise-backports
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in openssl (Ubuntu):
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers