tech-crypto archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
OpenSSL + opencrypto
I applied Jonathan's patch to OpenSSL to enable use of opencrypto.
Here are the results of the following commands:
openssl speed -evp des-ede3-cbc
libcrypto (/dev/crypto no present)
---------
Doing des-ede3-cbc for 3s on 16 size blocks: 201124 des-ede3-cbc's in
3.00s
Doing des-ede3-cbc for 3s on 64 size blocks: 51381 des-ede3-cbc's in
3.01s
Doing des-ede3-cbc for 3s on 256 size blocks: 12912 des-ede3-cbc's in
3.01s
Doing des-ede3-cbc for 3s on 1024 size blocks: 3233 des-ede3-cbc's in
3.01s
Doing des-ede3-cbc for 3s on 8192 size blocks: 404 des-ede3-cbc's in
3.02s
cryptodev software (/dev/crypto present, no hifn driver in kernel)
------------------
Doing des-ede3-cbc for 3s on 16 size blocks: 61531 des-ede3-cbc's in
0.20s
Doing des-ede3-cbc for 3s on 64 size blocks: 46481 des-ede3-cbc's in
0.08s
Doing des-ede3-cbc for 3s on 256 size blocks: 22956 des-ede3-cbc's in
0.04s
Doing des-ede3-cbc for 3s on 1024 size blocks: 7496 des-ede3-cbc's in
0.01s
Doing des-ede3-cbc for 3s on 8192 size blocks: 1041 des-ede3-cbc's in
0.00s
cryptodev hifn (/dev/crypto present, hifn driver in kernel)
--------------
Doing des-ede3-cbc for 3s on 16 size blocks: 36353 des-ede3-cbc's in
0.15s
Doing des-ede3-cbc for 3s on 64 size blocks: 34432 des-ede3-cbc's in
0.12s
Doing des-ede3-cbc for 3s on 256 size blocks: 28077 des-ede3-cbc's in
0.05s
Doing des-ede3-cbc for 3s on 1024 size blocks: 15986 des-ede3-cbc's in
0.07s
Doing des-ede3-cbc for 3s on 8192 size blocks: 3245 des-ede3-cbc's in
0.00s
Obviously for smaller transforms, using the libcrypto version is
better; this is fairly obvious, since the ioctls have overhead.
It's interesting to note that the cryptosoft implementation for
256-byte blocks is faster than the libcrypto implementation. I am not
sure why.
The hifn is slower than everything until 256-byte (again, ioctl
overhead + hardware setup overhead), but then it is faster. This is a
32-bit card in a 33MHz slot. It's not a new card by any stretch of the
imagination. It's also behind 3 PCI-PCI bridges (don't ask).
And, finally, the hifn driver seems to be buggy. When I use cryptodev
+ hifn, I get "data modified on freelist" and "panic: amap_wipeout:
corrupt map". I'll see if I can try and track that down. No promises,
though :-)
Anyway, from this info, it would be nice to put some intelligence in
libcrypto so it could decide when to use an engine and when to use the
base libcrypto software implementation of the transform.
-- Jason R. Thorpe <thorpej%wasabisystems.com@localhost>
Home |
Main Index |
Thread Index |
Old Index