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>