Kevin Day wrote this message on Sun, May 24, 2015 at 11:22
-0500:> I???ve got an Atom C2758 system:
>
> CPU: Intel(R) Atom(TM) CPU C2758 @ 2.40GHz (2400.06-MHz K8-class CPU)
> Origin = "GenuineIntel" Id = 0x406d8 Family = 0x6 Model =
0x4d Stepping = 8
>
Features=0xbfebfbff<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=0x43d8e3bf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,MOVBE,POPCNT,TSCDLT,AESNI,RDRAND>
> AMD Features=0x28100800<SYSCALL,NX,RDTSCP,LM>
> AMD Features2=0x101<LAHF,Prefetch>
> Standard Extended Features=0x2282<TSCADJ,SMEP,ENHMOVSB>
>
> Enabling aesni seems to make performance much worse:
>
> root at 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
>
>
> root at router:~ # kldload aesni
> root at 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
>
>
> Is this expected here, or is something broken?
If you have cryptodev loaded, this is to be expected as OpenSSL will
use /dev/crypto instead of the AES-NI instructions.. Just don't load
cryptodev and you'll be fine..
--
John-Mark Gurney Voice: +1 415 225 5579
"All that I will do, has been done, All that I have, has not."