Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Fri, 7 Dec 2001 13:21:50 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Fri, 7 Dec 2001 13:21:40 -0500 Received: from neon-gw-l3.transmeta.com ([63.209.4.196]:11538 "EHLO neon-gw.transmeta.com") by vger.kernel.org with ESMTP id ; Fri, 7 Dec 2001 13:21:26 -0500 Date: Fri, 7 Dec 2001 10:15:50 -0800 (PST) From: Linus Torvalds To: Andi Kleen cc: Subject: Re: horrible disk thorughput on itanium In-Reply-To: <20011207185847.A20876@wotan.suse.de> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org 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. 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/