From owner-freebsd-current@FreeBSD.ORG Wed Jun 16 07:49:07 2004 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 EFDB016A4CE; Wed, 16 Jun 2004 07:49:07 +0000 (GMT) Received: from rwcrmhc13.comcast.net (rwcrmhc13.comcast.net [204.127.198.39]) by mx1.FreeBSD.org (Postfix) with ESMTP id D7E1C43D5E; Wed, 16 Jun 2004 07:49:07 +0000 (GMT) (envelope-from julian@elischer.org) Received: from interjet.elischer.org ([24.7.73.28]) by comcast.net (rwcrmhc13) with ESMTP id <2004061607485101500fbl01e>; Wed, 16 Jun 2004 07:48:52 +0000 Received: from localhost (localhost.elischer.org [127.0.0.1]) by InterJet.elischer.org (8.9.1a/8.9.1) with ESMTP id AAA56755; Wed, 16 Jun 2004 00:48:50 -0700 (PDT) Date: Wed, 16 Jun 2004 00:48:49 -0700 (PDT) From: Julian Elischer To: Robert Watson In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-threads@freebsd.org cc: mike cc: freebsd-current@freebsd.org Subject: Re: Possible Threading problem with -CURRENT / MySQL? 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, 16 Jun 2004 07:49:08 -0000 On Wed, 16 Jun 2004, Robert Watson wrote: > > On Wed, 16 Jun 2004, Robert Watson wrote: > > > On Wed, 16 Jun 2004, Robert Watson wrote: > > > > > Netperf-UP-giant 4902.41 14.3 > > > Netperf-SMP-giant 2566.18 16.83 > > > Netperf-UP-mpsafe 4799.35 22.04 > > > Netperf-SMP-mpsafe 3022.51 18.06 > > > > FYI, when I add ADAPTIVE_MUTEXES on this box, the mean of 3000 q/s goes > > to 4000 q/s on the netperf+smp+mpsafenet number. > > > > I'm off to bed now, but it seems like (at least in the HTT > > configuration), it makes a big difference. I'll run the remainder of > > that set with ADAPTIVE_MUTEXES tomorrow as well. > > And switching to 4BSD from ULE takes the mean to 6426 q/s when combined > with netperf, smp, debug.mpsafenet=1, and adaptive mutexes. > > (Keeping in mind that this mysql benchmark is basically an > inter-thread/process kernel IPC benchmark using UNIX domain sockets, since > the workload is fairly minimal in userspace, this makes reasonable sense). > > Now I'm really going to bed. One thing that was happenning at one time, was that when a process is made runnable on one processor, If another processor is idle, it remains idle until the next scheduling tick. I proposed patches about a year ago that fixed this but "as far as I know" it is still true. The solution is to generate an IPI when you make a thread runnable and you see an idle processor.. To see if this is the problem a quick test would be to move HZ to 5000 or something and see what happens. > > Robert N M Watson FreeBSD Core Team, TrustedBSD Projects > robert@fledge.watson.org Senior Research Scientist, McAfee Research > > >