Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 May 2015 12:44:36 -0500
From:      Kevin Day <toasty@dragondata.com>
To:        Robert Simmons <rsimmons0@gmail.com>
Cc:        freebsd-security@freebsd.org
Subject:   Re: Atom C2758 - loading aesni(4) reduces performance
Message-ID:  <DFA97B43-1D0E-48B1-90FA-CDA2172566E7@dragondata.com>
In-Reply-To: <CA%2BQLa9DMK5xqyAhWx%2Bu0L10jx4-kk0o4uarezdLMsLuffEbeJQ@mail.gmail.com>
References:  <6BA42026-C785-40B5-B9CF-DD4280693C41@dragondata.com> <CA%2BQLa9DMK5xqyAhWx%2Bu0L10jx4-kk0o4uarezdLMsLuffEbeJQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
root@router:/sys # freebsd-version
10.0-RELEASE-p7
root@router:/sys # openssl version
OpenSSL 1.0.1e-freebsd 11 Feb 2013

That=E2=80=99s what ships with 10.0. Trying your version (1.0.2a) seems =
worse for both, but still slower with aesni than without.

1.0.1e without aesni: aes-256-cbc     176609.34k   243517.86k   =
281851.62k   293480.37k   297345.02k
1.0.1e with aesni:    aes-256-cbc       4662.35k    17964.33k    =
59148.60k   145272.15k   208882.35k
1.0.2a without aesni: aes-256-cbc      34727.24k    38003.39k    =
38926.26k    39369.94k    39291.87k
1.0.2a with aesni:    aes-256-cbc       4585.40k    17842.11k    =
59530.18k   145439.74k   204827.31k



> On May 24, 2015, at 12:30 PM, Robert Simmons <rsimmons0@gmail.com> =
wrote:
>=20
> Can you provide the output of freebsd-version, and openssl version? It
> looks like you're using a very old version of OpenSSL. Here's my
> output as an example:
>=20
> % freebsd-version
> 10.1-RELEASE-p10
>=20
> % openssl version
> OpenSSL 1.0.1l-freebsd 15 Jan 2015
>=20
> % /usr/local/bin/openssl version
> OpenSSL 1.0.2a 19 Mar 2015
>=20
> On Sun, May 24, 2015 at 12:22 PM, Kevin Day <toasty@dragondata.com> =
wrote:
>>=20
>> I=E2=80=99ve got an Atom C2758 system:
>>=20
>> CPU: Intel(R) Atom(TM) CPU  C2758  @ 2.40GHz (2400.06-MHz K8-class =
CPU)
>>  Origin =3D "GenuineIntel"  Id =3D 0x406d8  Family =3D 0x6  Model =3D =
0x4d  Stepping =3D 8
>>  =
Features=3D0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE=
,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
>>  =
Features2=3D0x43d8e3bf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,=
CX16,xTPR,PDCM,SSE4.1,SSE4.2,MOVBE,POPCNT,TSCDLT,AESNI,RDRAND>
>>  AMD Features=3D0x28100800<SYSCALL,NX,RDTSCP,LM>
>>  AMD Features2=3D0x101<LAHF,Prefetch>
>>  Standard Extended Features=3D0x2282<TSCADJ,SMEP,ENHMOVSB>
>>=20
>> Enabling aesni seems to make performance much worse:
>>=20
>> root@router:~ # openssl speed -evp aes-256-cbc -elapsed
>> You have chosen to measure elapsed time instead of user CPU time.
>> Doing aes-256-cbc for 3s on 16 size blocks: 33200486 aes-256-cbc's in =
3.01s
>> Doing aes-256-cbc for 3s on 64 size blocks: 11444626 aes-256-cbc's in =
3.01s
>> Doing aes-256-cbc for 3s on 256 size blocks: 3328753 aes-256-cbc's in =
3.02s
>> Doing aes-256-cbc for 3s on 1024 size blocks: 866523 aes-256-cbc's in =
3.02s
>> Doing aes-256-cbc for 3s on 8192 size blocks: 108891 aes-256-cbc's in =
3.00s
>> OpenSSL 1.0.1e-freebsd 11 Feb 2013
>> built on: date not available
>> options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) =
idea(int) blowfish(idx)
>> compiler: cc
>> The 'numbers' are in 1000s of bytes per second processed.
>> type             16 bytes     64 bytes    256 bytes   1024 bytes   =
8192 bytes
>> aes-256-cbc     176609.34k   243517.86k   281851.62k   293480.37k   =
297345.02k
>>=20
>>=20
>> root@router:~ # kldload aesni
>> root@router:~ # openssl speed -evp aes-256-cbc -elapsed
>> You have chosen to measure elapsed time instead of user CPU time.
>> Doing aes-256-cbc for 3s on 16 size blocks: 881020 aes-256-cbc's in =
3.02s
>> Doing aes-256-cbc for 3s on 64 size blocks: 842078 aes-256-cbc's in =
3.00s
>> Doing aes-256-cbc for 3s on 256 size blocks: 700368 aes-256-cbc's in =
3.03s
>> Doing aes-256-cbc for 3s on 1024 size blocks: 425602 aes-256-cbc's in =
3.00s
>> Doing aes-256-cbc for 3s on 8192 size blocks: 76495 aes-256-cbc's in =
3.00s
>> OpenSSL 1.0.1e-freebsd 11 Feb 2013
>> built on: date not available
>> options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) =
idea(int) blowfish(idx)
>> compiler: cc
>> The 'numbers' are in 1000s of bytes per second processed.
>> type             16 bytes     64 bytes    256 bytes   1024 bytes   =
8192 bytes
>> aes-256-cbc       4662.35k    17964.33k    59148.60k   145272.15k   =
208882.35k
>>=20
>>=20
>> Is this expected here, or is something broken?
>>=20
>> =E2=80=94 Kevin
>>=20
>> _______________________________________________
>> freebsd-security@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-security
>> To unsubscribe, send any mail to =
"freebsd-security-unsubscribe@freebsd.org"
> _______________________________________________
> freebsd-security@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-security
> To unsubscribe, send any mail to =
"freebsd-security-unsubscribe@freebsd.org"




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DFA97B43-1D0E-48B1-90FA-CDA2172566E7>