Doing allot of testing with dm-crypt and mdadm.  Running into an issues which is killing me.  We run a standard CentOS6 load with kernel "2.6.32-358.23.2.el6.x86_64"  

Scenario #1: mdadm raid10 -> dm-crypt -> ext4
Scenario #2: dm-crypt -> mdadm raid10 -> ext4

Scenario #1 has no issues and runs reliably but takes a significant hit in performance due to the single threaded nature of kryptd.  I read quite a bit about people instead encrypting each block device then putting software encryption on that.  This all goes well until I start to benchmark.  The writing process of the benchmark goes well, as soon as I hit the read portion of the test, the machine panics and locks up.  I initially tested this idea with raid0 and I don't have this panic, it seems that only raid10 causes the panic.  At this point I am stumped as to what I can do.  I am feel this is more an issue with mdadm than dm-crypt but I figured it was worth getting others opinions.  I appreciate any or all help, if I am missing any details let me know and I will provide them.

Thanks,
Adam Boyhan