Re: Possible Threading problem with -CURRENT / MySQL?

From: Julian Elischer <julian_at_elischer.org>
Date: Wed, 16 Jun 2004 00:48:49 -0700 (PDT)
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_at_fledge.watson.org      Senior Research Scientist, McAfee Research
> 
> 
> 
Received on Wed Jun 16 2004 - 05:49:07 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:57 UTC