From owner-freebsd-performance@FreeBSD.ORG Tue Apr 10 22:26:38 2007 Return-Path: X-Original-To: performance@FreeBSD.org Delivered-To: freebsd-performance@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E5D6316A404; Tue, 10 Apr 2007 22:26:38 +0000 (UTC) (envelope-from tgl@sss.pgh.pa.us) Received: from sss.pgh.pa.us (sss.pgh.pa.us [66.207.139.130]) by mx1.freebsd.org (Postfix) with ESMTP id AB13113C469; Tue, 10 Apr 2007 22:26:38 +0000 (UTC) (envelope-from tgl@sss.pgh.pa.us) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss.pgh.pa.us (8.13.6/8.13.6) with ESMTP id l3AMQb8B004308; Tue, 10 Apr 2007 18:26:37 -0400 (EDT) To: Kris Kennaway 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> Comments: In-reply-to Kris Kennaway message dated "Tue, 10 Apr 2007 18:09:24 -0400" Date: Tue, 10 Apr 2007 18:26:37 -0400 Message-ID: <4307.1176243997@sss.pgh.pa.us> From: Tom Lane X-Mailman-Approved-At: Tue, 10 Apr 2007 22:58:15 +0000 Cc: performance@FreeBSD.org, current@FreeBSD.org, Mark Kirkwood , pgsql-hackers Subject: Re: [HACKERS] Anyone interested in improving postgresql scaling? X-BeenThere: freebsd-performance@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Performance/tuning List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2007 22:26:39 -0000 Kris Kennaway 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