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

Attachment: pgpIwrhILeEV6.pgp
Description: PGP signature

Reply via email to