From: Arnd Bergmann <arnd@arndb.de>
To: Evgeniy Polyakov <zbr@ioremap.net>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Andrew Morton <akpm@linux-foundation.org>, linux-kernel@vger.kernel.org
Subject: Re: [4/7] dst: thread pool.
Date: Wed, 17 Dec 2008 16:55:04 +0100 [thread overview]
Message-ID: <200812171655.05020.arnd@arndb.de> (raw)
In-Reply-To: <1229521998-7870-5-git-send-email-zbr@ioremap.net>
On Wednesday 17 December 2008, Evgeniy Polyakov wrote:
>
> Thread pool abstraction allows to schedule a work to be performed
> on behalf of kernel thread. One does not operate with threads itself,
> instead user provides setup and cleanup callbacks for thread pool itself,
> and action and cleanup callbacks for each submitted work.
>
> Each worker has private data initialized at creation time and data,
> provided by user at scheduling time.
>
> When action is being performed, thread can not be used by other users,
> instead they will sleep until there is free thread to pick their work.
>
> Thread pool is used for crypto processing of incoming and outgoing IO
> requests to reduce the overall overhead.
>
> Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net>
Have you looked at the last discussion involving thread pools in Linux?
BenH brought up the topic earlier this year, it is archived on
https://lists.linux-foundation.org/pipermail/ksummit-2008-discuss/2008-July/000213.html
So while it seems that there is clearly a use for such infrastructure,
my feeling is that it should not be part of dst, but rather live
in a location where it can be used by every subsystem.
Of course getting it there means another flame war^W^W discussion about what
the right interface should look like.
My personal feeling is that the interface should look a lot like
the existing work queues, to the point where you can easily convert
drivers between them, or even move all work queues over to thread pools.
Arnd <><
next prev parent reply other threads:[~2008-12-17 15:55 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-17 13:53 [0/7] dst: new release introduction Evgeniy Polyakov
2008-12-17 13:53 ` [1/7] dst: core files Evgeniy Polyakov
2008-12-17 13:53 ` [2/7] dst: network state machine Evgeniy Polyakov
2008-12-17 13:53 ` [3/7] dst: export node Evgeniy Polyakov
2008-12-17 13:53 ` [4/7] dst: thread pool Evgeniy Polyakov
2008-12-17 13:53 ` [5/7] dst: transactions Evgeniy Polyakov
2008-12-17 13:53 ` [6/7] dst: crypto processing Evgeniy Polyakov
2008-12-17 13:53 ` [7/7] dst: kconfig and makefile changes Evgeniy Polyakov
2008-12-17 15:55 ` Arnd Bergmann [this message]
2008-12-17 20:03 ` [4/7] dst: thread pool Benjamin Herrenschmidt
2008-12-17 23:32 ` Evgeniy Polyakov
2008-12-18 0:51 ` Benjamin Herrenschmidt
2008-12-18 8:10 ` Evgeniy Polyakov
2008-12-18 9:44 ` Arnd Bergmann
2008-12-17 23:39 ` Evgeniy Polyakov
-- strict thread matches above, loose matches on Subject: below --
2008-12-26 11:56 [0/7] Distributed storage release Evgeniy Polyakov
2008-12-26 11:56 ` [1/7] dst: core files Evgeniy Polyakov
2008-12-26 11:56 ` [2/7] dst: network state machine Evgeniy Polyakov
2008-12-26 11:56 ` [3/7] dst: export node Evgeniy Polyakov
2008-12-26 11:56 ` [4/7] dst: thread pool Evgeniy Polyakov
2009-01-13 23:05 [0/7] Distributed storage for drivers/staging merge request Evgeniy Polyakov
2009-01-13 23:05 ` [1/7] dst: core files Evgeniy Polyakov
2009-01-13 23:05 ` [2/7] dst: network state machine Evgeniy Polyakov
2009-01-13 23:05 ` [3/7] dst: export node Evgeniy Polyakov
2009-01-13 23:05 ` [4/7] dst: thread pool Evgeniy Polyakov
2009-01-14 14:46 ` Frederik Deweerdt
2009-01-14 15:01 ` Evgeniy Polyakov
2009-01-15 5:58 ` Andrew Morton
2009-01-15 8:47 ` Evgeniy Polyakov
2009-01-19 0:10 ` Arjan van de Ven
2009-01-19 17:07 ` Evgeniy Polyakov
2009-02-05 13:55 ` David Howells
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=200812171655.05020.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=akpm@linux-foundation.org \
--cc=benh@kernel.crashing.org \
--cc=linux-kernel@vger.kernel.org \
--cc=zbr@ioremap.net \
/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.