Red Hat's Mikulas Patocka has posted a set of Linux kernel patches that parallelize the dm-crypt sub-system.
The dm-crypt subsystem provides for transparent disk encryption on Linux as part of the Device Mapper infrastructure and Crypto interfaces. While dm-crypt is important to many Linux users, up to this point it's surprisingly not been parallellized to exploit multi-core capabilities of most modern hardware. Fortunately, Patocka's patches now allow for dm-crypt to use all available CPU cores.
The patches address sorting writes in the order they were submitted, moves submitting write requests to a separate CPU thread, and for automatically balancing the workload between available CPU cores.
Before getting too excited, however, the performance with these initial patches aren't guaranteed to be positive. Due to cpufreq not always recognizing the encryption workload and some oddities with the Linux kernel I/O scheduler, in the current form, sometimes this parallelized dm-crypt is leading to a performance regression.
These dm-crypt parallel patches were posted today to the Linux kernel mailing list
and are currently being discussed amongst developers, hopefully leading to a properly tuned solution for a future Linux kernel release.