255187 |
03-Sep-2013 |
jmg |
Use the fact that the AES-NI instructions can be pipelined to improve performance... Use SSE2 instructions for calculating the XTS tweek factor... Let the compiler do more work and handle register allocation by using intrinsics, now only the key schedule is in assembly...
Replace .byte hard coded instructions w/ the proper instructions now that both clang and gcc support them...
On my machine, pulling the code to userland I saw performance go from ~150MB/sec to 2GB/sec in XTS mode. GELI on GNOP saw a more modest increase of about 3x due to other system overhead (geom and opencrypto)...
These changes allow almost full disk io rate w/ geli...
Reviewed by: -current, -security Thanks to: Mike Hamburg for the XTS tweek algorithm
|
210409 |
23-Jul-2010 |
kib |
Crypto(4) driver for AESNI.
The aeskeys_{amd64,i386}.S content was mostly obtained from OpenBSD, no objections to the license from core.
Hardware provided by: Sentex Communications Tested by: fabient, pho (previous versions) MFC after: 1 month
|