Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Apr 2007 18:26:37 -0400
From:      Tom Lane <tgl@sss.pgh.pa.us>
To:        Kris Kennaway <kris@obsecurity.org>
Cc:        performance@FreeBSD.org, current@FreeBSD.org, Mark Kirkwood <markir@paradise.net.nz>, pgsql-hackers <pgsql-hackers@postgresql.org>
Subject:   Re: [HACKERS] Anyone interested in improving postgresql scaling? 
Message-ID:  <4307.1176243997@sss.pgh.pa.us>
In-Reply-To: <20070410220923.GA74088@xor.obsecurity.org> 
References:  <20070226002234.GA80974@xor.obsecurity.org> <461B69C0.4060707@paradise.net.nz> <20070410184304.GB44123@xor.obsecurity.org> <3721.1176240977@sss.pgh.pa.us> <20070410220923.GA74088@xor.obsecurity.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Kris Kennaway <kris@obsecurity.org> writes:
> On Tue, Apr 10, 2007 at 05:36:17PM -0400, Tom Lane wrote:
>> Anyway I'd be interested to know what the test case is, and which PG
>> version you were testing.

> I used 8.2 (and some older version when I first noticed it a year ago)
> and either sysbench or supersmack will show it - presumably anything
> that makes simultaneous queries.  Just instrument sleepq_broadcast()
> to e.g. log a KTR event when it wakes more than 1 process and you'll
> see it happening.

Sorry, I'm not much of a BSD kernel hacker ... but sleepq_broadcast
seems a rather generic name.  Is that called *only* from semop?
I'm wondering if you are seeing simultaneous wakeup from some other
cause --- sleep timeout being the obvious possibility.  We are aware
of behaviors (search the PG lists for "context swap storm") where a
number of backends will all fail to get a spinlock and do short usleep
or select-timeout waits.  In this situation they'd all wake up at the
next scheduler clock tick ...

			regards, tom lane



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4307.1176243997>