[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [dm-devel] DM-CRYPT: Scale to multiple CPUs v3
- From: Alasdair G Kergon <agk redhat com>
- To: Andi Kleen <andi firstfloor org>
- Cc: Andi Kleen <ak linux intel com>, Mike Snitzer <snitzer redhat com>, linux-kernel vger kernel org, device-mapper development <dm-devel redhat com>, pedrib gmail com, Milan Broz <mbroz redhat com>
- Subject: Re: [dm-devel] DM-CRYPT: Scale to multiple CPUs v3
- Date: Sun, 10 Oct 2010 19:17:36 +0100
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
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]