All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Christie <mikenc@us.ibm.com>
To: Christophe Saout <christophe@saout.de>
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: Sun, 15 Feb 2004 17:04:19 -0800	[thread overview]
Message-ID: <40301713.50609@us.ibm.com> (raw)
In-Reply-To: <1076889854.5525.22.camel@leto.cs.pocnet.net>

Christophe Saout wrote:
> 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. 

It is a bigger problem for targets submitting io becuase the underlying 
device's queue could hit nr_requests.

> 
>>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? 

You do not have to create a work_struct for every read. Why not just 
have a bio-successful-reads-queue and a workstruct per device? That way 
you can at least have num cpu devices running in parallel.

  reply	other threads:[~2004-02-16  1:05 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
2004-02-16  1:04                   ` Mike Christie [this message]
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=40301713.50609@us.ibm.com \
    --to=mikenc@us.ibm.com \
    --cc=christophe@saout.de \
    --cc=hch@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.