Re: horrible disk thorughput on itanium

Padraig Brady (padraig@antefacto.com)
Fri, 07 Dec 2001 18:41:31 +0000


Linus Torvalds wrote:

> On Fri, 7 Dec 2001, Andi Kleen wrote:
>
>>Your proposals sound rather dangerous. They would silently break recompiled
>>threaded programs that need the locking and don't use -D__REENTRANT
>>
>
> No it wouldn't.
>
> Once you do a pthread_create(), the locking is there.
>
> Before you do a pthread_create(), it doesn't lock.

Hmm that could work. There are issues where getc etc are actually

macros if unlocked, so it wouldn't be clean, but that's beside the
point. Also there might be undesirable coupling between stdio and
the threads implementation but still it sounds like a great idea.

Padraig.

> What's the problem? Before you do a pthread_create(), you don't _NEED_
> locking, because there is only one thread that accesses the stdio data
> structures.
>
> And there are no races - if there is only one thread, then another thread
> couldn't be suddenly doing a pthread_create() during a stdio operations.
>
> Safe, and efficient. Yes, it adds a flag test or a indirect branch, but
> considering that you avoid a serialized locking instruction, the
> optimization sounds obvious.
>
> Linus

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