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>