From: Rob Landley <landley@webofficenow.com>
To: Timur Tabi <ttabi@interactivesi.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: Alan Cox quote? (was: Re: accounting for threads)
Date: Wed, 20 Jun 2001 07:52:09 -0400 [thread overview]
Message-ID: <01062007520902.00776@localhost.localdomain> (raw)
In-Reply-To: <20010619090956.R3089@work.bitmover.com> <20010619095239.T3089@work.bitmover.com> <lATeaC.A.K1B.HD-L7@dinero.interactivesi.com>
In-Reply-To: <lATeaC.A.K1B.HD-L7@dinero.interactivesi.com>
On Tuesday 19 June 2001 19:31, Timur Tabi wrote:
> Amen. This is one of the reasons why I also prefer OS/2 over Linux.
Preferred.
OS/2's day has come and gone. IBM killed it with a stupid diversion into the
power PC version between 1993 and 1995. By the time Windows 95 was released,
MS had finally (after 11 years) managed to properly clone the original 1984
macintosh, and 90% of the PC user base was no longer actively looking to
replace their OS (Windows 3.1 and/or DOS). The window of opportunity for a
proprietary OS to replace Microsoft's had closed, and OS/2 4.0 was just plain
too late. (If it had been released two years earlier, things might have been
different. But it wasn't.)
But the window to commoditize a propreitary niche never closes. The PC
clones didn't care whether digital's minicomputers or IBM's mainframes won
out in the marketplace, they were quite happy to replace both. Linux is
winning because it's free software, not for whatever transient technical
reasons make one version of an OS better than another on a given day.
> Feature Installer is a bad example. That software is a piece of crap for
> lots of reasons, excessive threading being only one, and every OS/2 user
> knew it the day it was released. Why do you think WarpIN was created?
I know, and I'm sorry I rescued FI from the corpse of OS/2 for the Power PC.
But it was my job, you know. :) (And I did rewrite half of it from scratch.
Before that it didn't work at ALL. There were algorithms in there that
scaled (failed to scale) to n^n complexity on the object hierarchy.
Unfortunately, IBM wouldn't let me rewrite the other half of it, and most of
that was pretty darn obnoxious and evil.)
Isn't it interesting that OS/2 turned into a unix platform? (EMX and gcc,
where all the software was coming from? I think I tried to point that out to
you when I attempted to recruit you into the LInux world at that gaming
session at armadillocon in... 1999? Glad to see you did eventually come over
to the chocolate side of the force after all... :)
> Not quite. What makes OS/2's threads superior is that the OS multitasks
> threads, not processes. So I can create a time-critical thread in my
> process, and it will have priority over ALL threads in ALL processes.
And in Linux you can create a time-critical process that shares large gorps
of memory where you keep your global variables, and call it a thread, and it
works the same way.
My only real gripe with Linux's threads right now (other than the fact they
keep trying to get us to use the posix api, which sucks. What IS an event
variable. What's wrong with event semaphores?) is that ps and top and such
aren't thread aware and don't group them right.
I'm told they added some kind of "threadgroup" field to processes that allows
top and ps and such to get the display right. I haven't noticed any
upgrades, and haven't had time to go hunting myself. (Ever tried to sumit a
patch to the FSF? They want you to sign legal documents. That's annoying.
I usually just send the bug reports to red hat and let THEM deal with it...)
> A lot of OS/2 software is written with this feature in mind. I know of one
> programmer who absolutely hates Linux because it's just too difficult
> porting software to it, and the lack of decent thread support is part of
> the problem.
Yup. OS/2 is the largest nest of trained, experienced multi-threaded
programmers. (And it takes a LOT of training experience to do threads
right.) That's why I've been trying to recruit ex-OS/2 guys over to Linux
for years now. (Most followed Java to Linux after Netscape opened up
Mozilla, but there used to be several notable holdouts...)
Threading is just another way to look at programming, with both advantages
and disadvantages. You get automatic SMP scalability that's quite nice if
you keep cache coherency in mind. You get great latency and responsiveness
in user interfaces with just one or two extra threads. (State machines may
be superior if implemented perfectly, but like co-operative multitasking
(which they are) it's trivially easy to block the suckers and hang the whole
GUI. If you hang one thread, you can even program another thread to notice
automatically and unwedge it without much overhead at all. Trying to unwedge
a state machine is a little more complicated than kill/respawn of a thread.
Of course a perfect state machine shouldn't have those problems, but when you
interface with other people's code in a large system, you accept imperfection
and make the system survive as best it can.)
> Exactly. Saying that threads cause bad code is just as dumb as saying that
> a kernel debugger will cause bad code because programmers will start using
> the debugger instead of proper design.
>
> Oh wait, never mind .....
Ah, don't pick on Linus. It's not exactly like the limiting factor to kernel
development is a SHORTAGE of patches sent in to the various maintainers.
Linus's job is to keep code OUT of the kernel. He has veto power, nothing
else. I suspect he's pre-emptively vetoing some stuff to keep the flood down
to a level he can deal with. Maybe someday we'll convince him to use some
variant of source control (not necessarily CVS, how about just a seperate
mailing list of the individual patches as he applies them? One linus can
post to and that is read-only to everybody else? HE always wants patches
seperated down nicely into individual messages with explanations, but WE have
to get pre2-pre3 as one big patch lump. With a patches-from-linus mailing
list that he forwarded posts to, we'd know exactly when a patch went in and
who it was from without bothering Linus. :)
Maybe something like that would allow a bit more decentralization, and then
he'd feel like he could keep his head above water if he allowed in a kernel
debugger. Who knows?
Rob
next prev parent reply other threads:[~2001-06-20 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
2001-06-19 18:18 ` Rob Landley
2001-06-19 23:31 ` Timur Tabi
2001-06-20 11:52 ` Rob Landley [this message]
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=01062007520902.00776@localhost.localdomain \
--to=landley@webofficenow.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ttabi@interactivesi.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