From owner-freebsd-current@FreeBSD.ORG Tue Apr 10 21:36:20 2007 Return-Path: X-Original-To: current@FreeBSD.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C07E316A404; Tue, 10 Apr 2007 21:36:20 +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 85A6B13C489; Tue, 10 Apr 2007 21:36:18 +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 l3ALaHW8003722; Tue, 10 Apr 2007 17:36:17 -0400 (EDT) To: Kris Kennaway In-reply-to: <20070410184304.GB44123@xor.obsecurity.org> References: <20070226002234.GA80974@xor.obsecurity.org> <461B69C0.4060707@paradise.net.nz> <20070410184304.GB44123@xor.obsecurity.org> Comments: In-reply-to Kris Kennaway message dated "Tue, 10 Apr 2007 14:43:04 -0400" Date: Tue, 10 Apr 2007 17:36:17 -0400 Message-ID: <3721.1176240977@sss.pgh.pa.us> From: Tom Lane X-Mailman-Approved-At: Tue, 10 Apr 2007 22:56:09 +0000 Cc: performance@FreeBSD.org, current@FreeBSD.org, Mark Kirkwood , pgsql-hackers Subject: Re: [HACKERS] Anyone interested in improving postgresql scaling? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Apr 2007 21:36:20 -0000 Kris Kennaway writes: > I have not studied the exact code path, but there are indeed multiple > wakeups happening from the semaphore code (as many as the number of > active postgresql processes). It is easy to instrument > sleepq_broadcast() and log them when they happen. There are certainly cases where Postgres will wake up a number of processes in quick succession, but that should happen from a separate semop() kernel call, on a different semaphore, for each such process. If there's really multiple processes being released by the same semop() then there's a bug we need to look into (or maybe it's a kernel bug?). Anyway I'd be interested to know what the test case is, and which PG version you were testing. regards, tom lane