From owner-freebsd-current@FreeBSD.ORG Wed Apr 2 12:32:37 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C072437B401; Wed, 2 Apr 2003 12:32:37 -0800 (PST) Received: from mail.chesapeake.net (chesapeake.net [205.130.220.14]) by mx1.FreeBSD.org (Postfix) with ESMTP id C029E43FB1; Wed, 2 Apr 2003 12:32:36 -0800 (PST) (envelope-from jroberson@chesapeake.net) Received: from localhost (jroberson@localhost) by mail.chesapeake.net (8.11.6/8.11.6) with ESMTP id h32KWZs70224; Wed, 2 Apr 2003 15:32:35 -0500 (EST) (envelope-from jroberson@chesapeake.net) Date: Wed, 2 Apr 2003 15:32:35 -0500 (EST) From: Jeff Roberson To: Terry Lambert In-Reply-To: <3E8B03E6.36871704@mindspring.com> Message-ID: <20030402152516.J64602-100000@mail.chesapeake.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: Alexander Leidinger cc: csujun@21cn.com cc: Robert Watson cc: current@freebsd.org Subject: Re: libthr and 1:1 threading. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Apr 2003 20:32:38 -0000 On Wed, 2 Apr 2003, Terry Lambert wrote: > Robert Watson wrote: > > You should notice marked interactivity and UI latency improvements with > > threaded GUI apps over libc_r because GUI threads will generally no longer > > be blocked when disk I/O and blocking I/O occurs. For example, > > applications like Open Office, Netscape, et al, really get a lot better > > with 1:1. Likewise, non-interactive applications that are disk > > I/O-intensive, such as mysql, will also perform substantially better > > because a thread that hits blocking using an interface that doesn't > > support non-blocking I/O (such as the file system) won't clog up the > > application. > > Is the disk I/O really that big of an issue? All writes will > be on underlying non-blocking descriptors; I guess you are > saying that the interleaved I/O is more important, further > down the system call interface than the top, and this becomes > an issue? UNIX distinguishes between short term and long term blocking calls. Non blocking io only avoids blocking for indeterminate periods of time. The 20ms or so you're paying per IO on an IDE system is 20ms that no other threads can run. This makes a difference. > It seems to me that maybe the correct fix for this is to use > AIO instead of non-blocking I/O, then? Our AIO implementation needs some rethinking. I'm not sure how effecient it actually is. > The GUI thread issues are something I hadn't considered; I > don't generally think of user space CPU intensive operations > like that, but I guess it has to be rendered some time. 8-). > > Has anyone tried compiling X11 to use libthr? > > Also, any ETA on the per process signal mask handing bug in > libthr? Might not be safe to convert everything up front, in > a rush of eager enthusiasm... Which bug is that? I'm not aware of it.