mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Christophe Saout <christophe@saout.de>
To: Mike Christie <mikenc@us.ibm.com>
Cc: Christoph Hellwig <hch@infradead.org>,
	Joe Thornber <thornber@redhat.com>,
	Rusty Russell <rusty@rustcorp.com.au>,
	linux-kernel@vger.kernel.org
Subject: Re: kthread vs. dm-daemon
Date: Mon, 16 Feb 2004 01:04:14 +0100	[thread overview]
Message-ID: <1076889854.5525.22.camel@leto.cs.pocnet.net> (raw)
In-Reply-To: <402FEF1F.2030308@us.ibm.com>

Am So, den 15.02.2004 schrieb Mike Christie um 23:13:

> > Making dm-daemon use the kthread primitives would make dm-daemon a very
> > small and stupid wrapper. Changing all dm targets to handle worker
> > thread notification themselves would result in unnecessary code
> > duplication.
> 
> When dm-multipath is more stable it could be using a work queue (my 
> patch was prematurely sent). Imagine a large number of dm-mp devices 
> multipathing across two fabrics and one switch failing. Every dm-mp 
> device could be resubmitting io at the same time.

I've thought of workqueues but at least for the snapshot and crypt
target they're overkill. I've switched dm-crypt to kthread and the
overhead is minimal. I hope I got it right though but it seems to work
just fine.

> If every write for every dm-raid1 device is going through 
> a single dm-daemon, it could become a bottleneck.

Hmm. The read decryption in dm-crypt is also a only-one-cpu-at-a-time
thing. Didn't anybody notice that? Cryptoloop has the same limitation.
I don't know how that could be handled differently. Every successful
read gets dispatched to the next free cpu and decrypted? What about
writes? They are currently running in the caller context (usually
pdflush).

> I guess you could also just do a thread per target instance, but maybe 
> this was ruled as excessive for thousands of DM devices?

Probably. I originally had one thread per device too for dm-crypt
because I didn't think about it but Joe changed it a single dm-daemon
thread (after porting the dm-daemon code to 2.6). He was right because
the different requests can't depend on each other and deadlock because
the daemon will never wait for io.



  reply	other threads:[~2004-02-16  0:04 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-11 15:33 Oopsing cryptoapi (or loop device?) on 2.6.* Michal Kwolek
2004-02-11 18:41 ` Jari Ruusu
2004-02-15  2:35   ` Jan Rychter
2004-02-15 14:51     ` Jari Ruusu
2004-02-15 16:38       ` Jari Ruusu
2004-02-16  0:26       ` James Morris
2004-02-18 14:07         ` Bill Davidsen
2004-02-16 12:22       ` Jan Rychter
2004-02-17 14:09         ` Jari Ruusu
2004-02-17 19:14           ` Jan Rychter
2004-02-18 14:06             ` Jari Ruusu
2004-02-18 21:40               ` Jan Rychter
2004-02-19 13:34                 ` Jari Ruusu
2004-02-11 22:54 ` bill davidsen
2004-02-15 17:34 ` Christophe Saout
2004-02-15 18:02   ` Christoph Hellwig
2004-02-15 18:42     ` Christophe Saout
2004-02-15 18:53       ` Christoph Hellwig
2004-02-15 19:36         ` Christophe Saout
2004-02-15 19:46           ` Christoph Hellwig
2004-02-15 20:24             ` kthread vs. dm-daemon (was: Oopsing cryptoapi (or loop device?) on 2.6.*) Christophe Saout
2004-02-15 22:13               ` kthread vs. dm-daemon Mike Christie
2004-02-16  0:04                 ` Christophe Saout [this message]
2004-02-16  1:04                   ` Mike Christie
2004-02-16  1:29                     ` Christophe Saout
2004-02-16  3:02               ` kthread vs. dm-daemon (was: Oopsing cryptoapi (or loop device?) on 2.6.*) Rusty Russell
2004-02-16 13:27                 ` Christophe Saout
2004-02-16 16:42                   ` Christophe Saout
2004-02-16 13:48                 ` Joe Thornber
2004-02-16  1:44             ` dm-crypt using kthread " Christophe Saout
2004-02-16  1:53               ` Andrew Morton
2004-02-16  2:07                 ` Grzegorz Kulewski
2004-02-16  3:03                   ` Christophe Saout
2004-02-16  3:22                     ` Grzegorz Kulewski
2004-02-16  4:05                       ` dm-crypt using kthread Jeff Garzik
2004-02-16  4:14                         ` Grzegorz Kulewski
2004-02-16 10:15                           ` Christophe Saout
2004-02-16  9:54                       ` dm-crypt using kthread (was: Oopsing cryptoapi (or loop device?) on 2.6.*) Christophe Saout
2004-03-01 22:18                     ` Matthias Urlichs
2004-03-01 22:51                       ` Christophe Saout
2004-03-01 23:22                         ` Matthias Urlichs
2004-02-16  2:58                 ` Christophe Saout
2004-02-16  7:28                   ` David Wagner
2004-02-16 10:11                     ` Christophe Saout
2004-02-18 14:15                 ` dm-crypt using kthread Bill Davidsen
2004-02-16  2:07               ` dm-crypt using kthread (was: Oopsing cryptoapi (or loop device?) on 2.6.*) Andrew Morton
2004-02-16  2:17                 ` dm-crypt using kthread Jeff Garzik
2004-02-16  2:53                 ` dm-crypt using kthread (was: Oopsing cryptoapi (or loop device?) on 2.6.*) Christophe Saout
2004-02-16  2:10               ` dm-crypt using kthread Jeff Garzik
2004-02-16  2:40                 ` Christophe Saout
2004-02-16  2:58                   ` Jeff Garzik
2004-02-16  3:10                     ` Christophe Saout
2004-02-16 13:04                     ` Christophe Saout
2004-02-16 19:09                       ` Jeff Garzik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1076889854.5525.22.camel@leto.cs.pocnet.net \
    --to=christophe@saout.de \
    --cc=hch@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mikenc@us.ibm.com \
    --cc=rusty@rustcorp.com.au \
    --cc=thornber@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®