Re: Linux tcp/ip code has trouble with async network I/O notification,u

Eric S. Raymond (esr@thyrsus.com)
Thu, 3 Sep 1998 02:00:59 -0400


Kaz Kylheku <kaz@espresso.cafe.net>:
> On Thu, 3 Sep 1998, Wim Ten Have wrote:
> > I think that there is a major ;-) problem around in the Linux TCP/IP
> > code when using Async (SIGIO) controlled network code setups.
>
> Async IO is an outdated paradigm anyway. Try using threads.

There are two things seriously wrong with this response:

Firstly, even bugs in soi-disant "outdated" kernel features are bad,
and worthy of attention to fix them.

<flame>

Secondly, threads suck. They're currently fashionable, but it's by no
means clear that they're any improvement on asynchronous I/O.

I say this because threads encourage in the time domain all the same
kinds of aliasing havoc that you can get by being careless with
pointers in the spatial domain. It's way too hard to mentally model or
make provable assertions about the global state of a multi-threaded
program.

Monitors communicating through message queues are a much more tractable
way to control concurrency, as in Hoare's CSP or Mark Miller's E language
or (surprise!) Unix's classical process-connected-by-pipes.

</flame>

-- 

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html