Re: PROBLEM: pthread-safety bug in write(2) on Linux 2.6.x

From: Andrew Morton
Date: Thu Apr 13 2006 - 05:57:49 EST


Dan Bonachea <bonachead@xxxxxxxxxxx> wrote:
>
> This problem arose in the parallel runtime system for a scientific language
> compiler (nearly a million lines of code total - definitely a "real-world"
> program) - the example code is merely a pared-down demonstration of the
> problem. In parallel scientific computing, it's very common for many threads
> to be writing to stdout (usually for monitoring purposes) and it's expected
> and normal for output from separate threads to be arbitrarily interleaved, but
> it's *not* ok for output to be lost entirely. This is essentially equivalent
> to the real-world example you gave of many threads logging to a file.

Interesting - afaik that's the first time this has been hit in a real
application.

> We've worked around the problem in Linux 2.6 by adding locking at user-level
> around our writes, as you suggest, although this of course penalizes our
> performance on kernels that already correctly implement the thread-safety
> required by the POSIX spec. In any case it seemed like a problem that we
> should report, to be good open-source citizens - especially given that it
> appears to be a regression with respect to the Linux 2.4 kernel. How you
> choose to handle the report is of course your decision.

yup, thanks.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/