On Sun, Oct 10, 2010 at 07:44:54PM +0200, Andi Kleen wrote: > It's not broken AFAIK and it will not perform worse than the original > single thread work queue. This is the contentious code: + /* + * Since we only have a single worker per CPU in extreme + * cases there might be nesting (dm-crypt on another dm-crypt) + * To avoid deadlock run the work directly then. + */ + cpu = get_cpu(); + if (per_cpu(io_wq_cpu, cpu) == current && !in_interrupt()) { + put_cpu(); + kcryptd_io(&io->work); + return; + } AFAIK Nested dm-crypt is not extreme for some folk who have routine configurations using it. But if in_interrupt is set how does this code work for them now compared to how it worked before? Alasdair -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel