From owner-freebsd-threads@FreeBSD.ORG Tue Jul 6 20:48:39 2004 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 3C73016A4CE for ; Tue, 6 Jul 2004 20:48:39 +0000 (GMT) Received: from mail.pcnet.com (mail.pcnet.com [204.213.232.4]) by mx1.FreeBSD.org (Postfix) with ESMTP id D9CFF43D46 for ; Tue, 6 Jul 2004 20:48:38 +0000 (GMT) (envelope-from eischen@vigrid.com) Received: from mail.pcnet.com (mail.pcnet.com [204.213.232.4]) by mail.pcnet.com (8.12.10/8.12.1) with ESMTP id i66KmTfP016121; Tue, 6 Jul 2004 16:48:31 -0400 (EDT) Date: Tue, 6 Jul 2004 16:48:29 -0400 (EDT) From: Daniel Eischen X-Sender: eischen@pcnet5.pcnet.com To: Andrew Gallatin In-Reply-To: <16619.3035.165728.569632@grasshopper.cs.duke.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: Julian Elischer cc: freebsd-threads@freebsd.org Subject: Re: pthread switch (was Odd KSE panic) 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: Tue, 06 Jul 2004 20:48:39 -0000 On Tue, 6 Jul 2004, Andrew Gallatin wrote: > > Daniel Eischen writes: > > Note that he is holding the mutex while calling pthread_cond_signal(). > > If we enable preemption in pthread_cond_signal(), then I suspect it > > would be even worse than without preemption. > > > > I think the only place where it is sane to enable preemption is > > on pthread_mutex_unlock(). > > That certainly makes sense to me. But I don't want to see you > optimize the threads lib just for my app. I can always put in an > #ifdef FreeBSD > pthread_yield() > #endif > > But what I'm still wondering is where the ~3x slowdown (20usec linux > -> ~60usec, libthr) is coming from. Is this a factor of the context > switch time and ithreads? I suspect our kernel is butt-slow compared with Linux in general. Mysql under native linux is similarly faster. > I need to move the driver to a fast interrupt and I need to test > SCHED_BSD as well. I should probably cvs update to get jhb's > scheduling changes. -- Dan Eischen