Re: Alan Cox quote? (was: Re: accounting for threads)

Rob Landley
2001-06-24T21:57:40Z

On Sunday 24 June 2001 17:41, J . A . Magallon wrote:
> On 20010622 Rob Landley wrote:
> >I still consider the difference between threads and processes with shared
> >resources (memory, fds, etc) to be largely semantic.
>
> They should not be the same. Processes are processes, and threads were
> designed for situations where processes are too heavy. Other thing is that
> in new kernels (for example, Linux) processes are being optimized (ie, vm
> fast 'cloning' via copy-on-write) or expanded with new features (Linux'
> clone+ CLONE_VM). But they are different beasts.

This is a bit like like saying that a truck and a train are totally different
beasts. If I'm trying to haul cargo from point A to point B, which is served
by both, all I care about is how long it takes and how much it costs.

I don't care what it was INTENDED to do. A rock makes a decent hammer. So
does a crescent wrench. The question is how good a tool is it for the uses
we're trying to put it to?

> This remembers on other question I read in this thread (I tried to answer
> then but I had broke balsa...). Somebody posted some benchmarks of linux
> fork()+exec() vs Solaris fork()+exec().

What programs does this make a difference in? These are tools meant to be
used. What real-world usage causes them to differ? If a reasonably
competent programmer ported a program from one platform to another, is this
the behavior they would expect to see (without a major rewrite of the code)?

> That is comparing apples and oranges.

Show me a real-world program that makes the distinction you're making.
Something in actual use.

> The clean battle should be linux fork-exec vs vfork-exec in
> Solaris, because for in linux is really a vfork in solaris.

But the point of threading is it's a fork WITHOUT an exec.

So now you're saying the comparison we're making of "using these tools to do
goal X" is invalid because you don't like goal X, and you want to do
something else with them.

I'm not going to comment on the difference between fork and vfork becaue to
be honest I've forgotten what the difference is. Something to do with
resource sharing but darned if I can remember it. I'm not sure I've ever
used vfork, last thing I remember were people arguing over the man page for
it...

(Sorry if I seem a bit snappish, I've had this kind of discussion too many
times with ivory tower types at UT who object to the topic of conversation
because it's not what they've focused on until now. Which logical fallacy
was this, "begging the question"? Straw man? I forget. I'm tired...)

Rob