From owner-freebsd-threads@FreeBSD.ORG Thu May 1 17:23:17 2003 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9D65537B401 for ; Thu, 1 May 2003 17:23:17 -0700 (PDT) Received: from canning.wemm.org (canning.wemm.org [192.203.228.65]) by mx1.FreeBSD.org (Postfix) with ESMTP id 32C0343FA3 for ; Thu, 1 May 2003 17:23:17 -0700 (PDT) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by canning.wemm.org (Postfix) with ESMTP id CB0BA2A7EA; Thu, 1 May 2003 17:23:16 -0700 (PDT) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 To: Daniel Eischen In-Reply-To: Date: Thu, 01 May 2003 17:23:16 -0700 From: Peter Wemm Message-Id: <20030502002316.CB0BA2A7EA@canning.wemm.org> cc: threads@freebsd.org Subject: Re: Question about rtld-elf. Anyone?.. Anyone? X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 May 2003 00:23:17 -0000 Daniel Eischen wrote: > On Wed, 30 Apr 2003, Terry Lambert wrote: > > Daniel Eischen wrote: > > > > > > When it hangs, there's no windowing, so no mouse. > > > > I mean load a page which would ordinary cause it to hang, and > > don't move the mose at all while you wait for it to load. No > > expose events means nothing else to run means effectively > > single threaded. > > It doesn't *get* to the point of having *any* X-window open. > In other words, I enter 'mozilla' at the prompt and see > nothing at all. After some of my local hacks, it loads > 1/2 of the time and once it is loaded, it never hangs. Here's a thought. Have a look at the _umtx_lock() and _umtx_unlock() syscalls that were recently added, and the corresponding scaffolding in libthr. Although this would likely break libc_r, it might be worth an experiment to reimplement the ld-elf.so.1 spinlocks using that and see how it goes. In the contested case, it would tsleep() the thread rather than have it sit in a spinloop. Hmm. On second thoughts, this might not be so easy since it needs a thread identifier. But have a peek anyway and see if there is anything to be had from there.. Cheers, -Peter -- Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com "All of this is for nothing if we don't go to the stars" - JMS/B5