Alex Hornung and I have tag-teamed the dm_crypt and opencrypto code to make it fully asynchronous and distributed across multiple cpus.
Testing on a Phenom II x 4 software crypto performance has been increased from around 50MB/sec to around 124MB/sec through the filesystem, using the default crypto, and to around 140MB/sec using aes-cbc-plain. There are still some issues with the password acceptance code in cryptsetup luksOpen that are being tracked down (for some reason it often does not accept a valid password and you have to retry). -Matt Matthew Dillon <dil...@backplane.com>