Description of problem: Current implementation of map function in dm-crypt waits for earlies items to complete to solve insufficient memory situations. /* out of memory -> run queues */ if (remaining) blk_congestion_wait(bio_data_dir(clone), HZ/100); This will not work after reduce stack changes in generic_make_request() which will not process IOs immediately. (md-dm-reduce-stack-usage-with-stacked-block-devices.patch) Processing of map request and most of its workload should be moved to dm-crypt workqueue.
Already in RHEL5beta2 (from upstream).