On Tue, Apr 10, 2007 at 06:26:37PM -0400, Tom Lane wrote: > Kris Kennaway <[EMAIL PROTECTED]> 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?
It's part of how wakeup() is implemented. > 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 ... Nope, it's not this. Kris
pgpIwrhILeEV6.pgp
Description: PGP signature