From: Larry McVoy <lm@bitmover.com>
To: Matthew Kirkwood <matthew@hairy.beasts.org>
Cc: Larry McVoy <lm@bitmover.com>, Dan Kegel <dank@kegel.com>,
ognen@gene.pbi.nrc.ca,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
laughing@shared-source.org
Subject: Re: Alan Cox quote? (was: Re: accounting for threads)
Date: Tue, 19 Jun 2001 09:52:39 -0700 [thread overview]
Message-ID: <20010619095239.T3089@work.bitmover.com> (raw)
In-Reply-To: <20010619090956.R3089@work.bitmover.com> <Pine.LNX.4.30.0106191714320.11271-100000@sphinx.mythic-beasts.com>
In-Reply-To: <Pine.LNX.4.30.0106191714320.11271-100000@sphinx.mythic-beasts.com>; from matthew@hairy.beasts.org on Tue, Jun 19, 2001 at 05:26:09PM +0100
On Tue, Jun 19, 2001 at 05:26:09PM +0100, Matthew Kirkwood wrote:
> On Tue, 19 Jun 2001, Larry McVoy wrote:
>
> > ``Think of it this way: threads are like salt, not like pasta. You
> > like salt, I like salt, we all like salt. But we eat more pasta.''
>
> This is oft-quoted but has, IMO, the property of not actually
> making any sense.
Hmm. Makes sense to me. All it is saying is that you can't make a good
dinner out of a pile of salt. It was originally said to some GUI people
who wanted to use a thread per object, every button, scrollbar, canvas,
text widget, menu, etc., are all threads. What they didn't figure out is
that a thread needs a stack, the stack is the dominating space term, and
they were looking at a typical desktop with around 9,000 objects. Times,
at that point, an 8K stack. That was 73MB in stacks. Pretty darned stupid
when you look at it that way, huh?
Nobody is arguing that having more than one thread of execution in an
application is a bad idea. On an SMP machine, having the same number of
processes/threads as there are CPUs is a requirement to get the scaling
if that app is all you are running. That's fine. But on a uniprocessor,
threads are basically stupid. The only place that I know of where it is
necessary is for I/O which blocks. And even there you only need enough
to overlap the I/O such that it streams. And processes will, and do,
work fine for that.
I think the general thrust of us ``anti-thread'' people is that a few
are fine, a lot is stupid, and the model encourages a lot. It's just
like perl5, C++, pick-your-favorite-feature-rich-language in that
exceptional programmers will do a good job with the problem but average
programmers will do a horrible job. Given that there are only a few
exceptional programmers and a never ending wave of average programmers,
the argument is that one should tailor the paradigm for the common case,
not for the exceptional case.
--
---
Larry McVoy lm at bitmover.com http://www.bitmover.com/lm
next prev parent reply other threads:[~2001-06-19 16:53 UTC|newest]
Thread overview: 156+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-06-19 14:53 accounting for threads Dan Kegel
2001-06-19 14:57 ` J . A . Magallon
2001-06-19 15:44 ` ognen
2001-06-19 15:58 ` Alan Cox quote? (was: Re: accounting for threads) Dan Kegel
2001-06-19 16:02 ` David S. Miller
2001-06-19 16:12 ` Padraig Brady
2001-06-19 19:10 ` bert hubert
2001-06-19 19:18 ` Alan Cox
2001-06-19 19:32 ` bert hubert
2001-06-19 19:43 ` Alexander Viro
2001-06-20 15:22 ` Jes Sorensen
2001-06-20 15:33 ` Alexander Viro
2001-06-20 15:59 ` Threads are processes that share more bert hubert
2001-06-20 16:15 ` Alexander Viro
2001-06-20 18:48 ` Martin Devera
2001-06-20 19:19 ` Unknown PCI Net Device Greg Ingram
2001-06-20 22:53 ` Andreas Dilger
2001-06-20 22:56 ` Jeff Garzik
2001-06-20 23:00 ` Alan Cox
2001-06-20 22:08 ` Threads are processes that share more Stephen Satchell
2001-06-20 22:14 ` ognen
2001-06-20 23:10 ` J . A . Magallon
2001-06-24 23:47 ` Larry McVoy
2001-06-25 2:23 ` David S. Miller
2001-06-20 16:39 ` Alan Cox quote? (was: Re: accounting for threads) george anzinger
2001-06-20 18:35 ` Alexander Viro
2001-06-21 4:11 ` Rusty Russell
2001-06-21 23:37 ` Alexander Viro
2001-06-21 23:55 ` Alexander Viro
2001-06-22 14:53 ` Richard Gooch
2001-06-20 16:40 ` Jes Sorensen
2001-06-20 20:09 ` Rob Landley
2001-06-20 19:05 ` Victor Yodaiken
2001-06-20 14:35 ` Mike Porter
2001-06-20 11:56 ` Rob Landley
2001-06-19 16:02 ` Ben Pfaff
2001-06-19 16:09 ` Larry McVoy
2001-06-19 16:26 ` Matthew Kirkwood
2001-06-19 16:52 ` Larry McVoy [this message]
2001-06-19 18:18 ` Rob Landley
2001-06-19 23:31 ` Timur Tabi
2001-06-20 11:52 ` Rob Landley
2001-06-20 21:20 ` Albert D. Cahalan
2001-06-20 18:12 ` Rob Landley
2001-06-20 23:28 ` Dan Podeanu
2001-06-21 0:42 ` D. Stimits
2001-06-20 20:18 ` Rob Landley
2001-06-21 1:57 ` D. Stimits
2001-06-21 14:46 ` Idea: Patches-from-linus mailing list? (Was Re: Alan Cox quote? (was: Re: accounting for threads)) Rob Landley
2001-06-21 14:02 ` Alan Cox quote? (was: Re: accounting for threads) Jesse Pollard
2001-06-21 14:18 ` Rob Landley
2001-06-22 14:46 ` Mikulas Patocka
2001-06-22 13:29 ` Rob Landley
2001-06-24 21:41 ` J . A . Magallon
2001-06-24 16:55 ` Rob Landley
2001-06-24 22:30 ` J . A . Magallon
2001-06-24 18:21 ` Rob Landley
2001-06-25 13:48 ` J . A . Magallon
2001-06-24 22:39 ` Steven Walter
2001-06-24 23:50 ` Larry McVoy
2001-06-24 20:24 ` Rob Landley
2001-06-25 0:05 ` J . A . Magallon
2001-06-25 0:32 ` Gerhard Mack
2001-06-25 0:59 ` Davide Libenzi
2001-06-25 2:18 ` Galen Hancock
2001-06-20 14:59 ` Matthias Urlichs
2001-06-20 19:14 ` Victor Yodaiken
2001-06-20 21:01 ` RE:Why use threads ( was: Alan Cox quote?) David Schwartz
2001-06-20 21:26 ` Why " Victor Yodaiken
2001-06-20 22:18 ` David Schwartz
2001-06-20 22:41 ` Davide Libenzi
2001-06-20 22:47 ` [OT] " Jeff Garzik
2001-06-21 0:21 ` David Schwartz
2001-06-21 0:56 ` Davide Libenzi
2001-06-21 1:32 ` David Schwartz
2001-06-21 2:22 ` Davide Libenzi
2001-06-21 2:43 ` David Schwartz
2001-06-21 16:10 ` Davide Libenzi
2001-06-21 19:55 ` Marco Colombo
2001-06-20 22:43 ` Mike Castle
2001-06-21 1:43 ` David Schwartz
2001-06-19 17:10 ` Alan Cox quote? (was: Re: accounting for threads) Matti Aarnio
2001-06-19 17:20 ` Mike Castle
2001-06-19 17:37 ` Larry McVoy
2001-06-19 17:45 ` Mike Castle
2001-06-19 18:08 ` Georg Nikodym
2001-06-19 19:38 ` Georg Nikodym
2001-06-19 19:56 ` Michael Meissner
2001-06-19 17:53 ` Steve Underwood
2001-06-19 19:01 ` Alan Cox
2001-06-20 2:57 ` Michael Rothwell
2001-06-20 3:04 ` Larry McVoy
2001-06-20 3:38 ` John R Lenton
2001-06-20 10:21 ` john slee
2001-06-20 18:08 ` Larry McVoy
2001-06-20 16:21 ` Davide Libenzi
2001-06-20 9:14 ` Alan Cox
2001-06-22 2:36 ` Michael Rothwell
2001-06-19 17:36 ` Jonathan Lundell
2001-06-19 17:41 ` Larry McVoy
2001-06-19 20:57 ` David S. Miller
2001-06-19 21:11 ` Jonathan Lundell
2001-06-19 21:15 ` David S. Miller
2001-06-19 23:56 ` Jonathan Lundell
2001-06-20 0:19 ` Mike Castle
2001-06-20 0:28 ` Larry McVoy
2001-06-20 1:30 ` Ben Greear
2001-06-20 2:14 ` Mike Castle
2001-06-20 9:00 ` Henning P. Schmiedehausen
2001-06-20 11:25 ` [OT] Threads, inelegance, and Java Aaron Lehmann
2001-06-20 11:25 ` Rob Landley
2001-06-20 17:36 ` Martin Dalecki
2001-06-20 19:27 ` Mike Harrold
2001-06-20 17:46 ` Rob Landley
2001-06-20 19:53 ` Martin Dalecki
2001-06-20 17:53 ` Rob Landley
2001-06-21 7:45 ` Albert D. Cahalan
[not found] ` <mailman.993067219.29993.linux-kernel2news@redhat.com>
2001-06-20 20:16 ` Pete Zaitcev
2001-06-20 22:05 ` Alan Cox
[not found] ` <20010621000725.A24672@werewolf.able.es>
2001-06-20 19:15 ` Rob Landley
2001-06-21 9:40 ` Jonathan Morton
[not found] ` <mailman.993083762.1429.linux-kernel2news@redhat.com>
2001-06-21 3:13 ` Pete Zaitcev
2001-06-21 13:59 ` Rob Landley
2001-06-21 16:48 ` Adam Sampson
2001-06-20 15:12 ` Ben Greear
2001-06-20 15:44 ` Russell Leighton
2001-06-20 16:32 ` Davide Libenzi
2001-06-20 16:54 ` Russell Leighton
2001-06-20 17:03 ` Tony Hoyle
2001-06-20 15:10 ` Rob Landley
2001-06-20 20:23 ` Tony Hoyle
2001-06-21 8:12 ` Henning P. Schmiedehausen
2001-06-20 20:40 ` Richard B. Johnson
2001-06-20 20:48 ` Tony Hoyle
2001-06-20 21:00 ` Daniel Phillips
2001-06-20 21:06 ` Richard B. Johnson
2001-06-20 18:14 ` Henning P. Schmiedehausen
2001-06-20 16:53 ` Larry McVoy
2001-06-20 12:36 ` Rob Landley
2001-06-20 21:14 ` Aaron Lehmann
2001-06-20 18:09 ` Henning P. Schmiedehausen
2001-06-20 19:05 ` William T Wilson
2001-06-20 0:04 ` Alan Cox quote? (was: Re: accounting for threads) Chris Ricker
2001-06-20 0:59 ` Robert Love
2001-06-19 18:01 ` Alan Cox quote? Kai Henningsen
2001-06-19 18:49 ` Larry McVoy
2001-06-19 21:12 ` Richard Gooch
2001-06-19 22:50 ` Henning P. Schmiedehausen
2001-06-19 20:12 ` Henning P. Schmiedehausen
-- strict thread matches above, loose matches on Subject: below --
2001-06-19 19:48 Alan Cox quote? (was: Re: accounting for threads) Joerg Pommnitz
2001-06-19 19:59 ` Alexander Viro
2001-06-20 19:36 Rok Papež
2001-06-20 20:16 ` Cort Dougan
2001-06-22 5:19 Chester Lott
[not found] <Pine.GSO.4.21.0106211931180.209-100000@weyl.math.psu.edu.suse.lists.linux.kernel>
2001-06-22 7:33 ` Andi Kleen
2001-06-30 9:16 Jan Hudec
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=20010619095239.T3089@work.bitmover.com \
--to=lm@bitmover.com \
--cc=dank@kegel.com \
--cc=laughing@shared-source.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matthew@hairy.beasts.org \
--cc=ognen@gene.pbi.nrc.ca \
/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