[dm-devel] DM-CRYPT: Scale to multiple CPUs v3
Alasdair G Kergon
agk at redhat.com
Sun Oct 10 18:17:36 UTC 2010
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
More information about the dm-devel
mailing list