From: Arnd Bergmann <arnd@arndb.de>
To: Evgeniy Polyakov <zbr@ioremap.net>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org, David Howells <dhowells@redhat.com>
Subject: Re: [4/7] dst: thread pool.
Date: Thu, 18 Dec 2008 10:44:27 +0100 [thread overview]
Message-ID: <200812181044.28157.arnd@arndb.de> (raw)
In-Reply-To: <20081218081029.GA20336@ioremap.net>
On Thursday 18 December 2008, Evgeniy Polyakov wrote:
> That's how such projects are implemented: when developers need to
> extend some other sybsystem they do that with own implementation of the
> needed feature. Moreover people frequently argue against importing some
> new feature if there are no direct users of it (like may happen with
> thread pools, which no one will use immediately), so why bother with
> that crap (och, well, and interfaces, there will be definitely people
> who do not like them) when it is possible just to make working what
> you like? So I fully understand those who implemented it in theirs
> subsystems. I would even call blaming them for not pushing theirs
> implementations into generic location somewhat hypocritically because
> of above :)
I agree, and I don't think anyone has done anything wrong so far with
this. The natural way that internal features get into the kernel is
roughly:
1. Someone needs a feature and does a minimal implementation suiting
a specific purpose.
2. A few other people implement something similar, in slightly
different ways.
3. One of the implementations gets mentioned in a howto or a textbook
and people start copying from that.
4. One person gets fed up with the duplication and proposes a generic
solution as a patch.
5. After some discussion, this or another implementation gets merged.
6. The majority of the previous implementations get moved over to
the common code.
7. During that process, a deficiency in the interface gets noticed
and it gets changed again, forcing everyone who moved over to also
change again.
We are currently in stage 2, and I'm not sure if it's even a good idea
to skip any of the following stages. If we're lucky, we can skip stage 3.
Arnd <><
next prev parent reply other threads:[~2008-12-18 9:45 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 ` [4/7] dst: thread pool Arnd Bergmann
2008-12-17 20:03 ` 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 [this message]
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=200812181044.28157.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=akpm@linux-foundation.org \
--cc=benh@kernel.crashing.org \
--cc=dhowells@redhat.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox