From owner-freebsd-performance@FreeBSD.ORG Tue Apr 10 18:46:58 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 E865A16A401; Tue, 10 Apr 2007 18:46:57 +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 ACE5913C44C; Tue, 10 Apr 2007 18:46:57 +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 l3AIkurG028538; Tue, 10 Apr 2007 14:46:56 -0400 (EDT) To: Kris Kennaway In-reply-to: <20070410184332.GC44123@xor.obsecurity.org> References: <20070226002234.GA80974@xor.obsecurity.org> <461B69C0.4060707@paradise.net.nz> <25573.1176215022@sss.pgh.pa.us> <20070410184332.GC44123@xor.obsecurity.org> Comments: In-reply-to Kris Kennaway message dated "Tue, 10 Apr 2007 14:43:33 -0400" Date: Tue, 10 Apr 2007 14:46:56 -0400 Message-ID: <28537.1176230816@sss.pgh.pa.us> From: Tom Lane X-Mailman-Approved-At: Tue, 10 Apr 2007 18:51:24 +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 18:46:58 -0000 Kris Kennaway writes: >>> Make SYSV semaphores less dumb about process wakeups. Currently >>> whenever the semaphore state changes, all processes sleeping on the >>> semaphore are woken, even if we only have released enough resources >>> for one waiting process to claim. >> Correct. The behavior Kris describes is surely bad, but it's not >> relevant to Postgres' usage of SysV semaphores. > Sorry, but the behaviour is real. Oh, I'm sure the BSD kernel acts as you describe. But Mark's point is that Postgres never has more than one process waiting on any particular SysV semaphore, and so the problem doesn't really affect us. Or do you mean that the kernel wakes all processes sleeping on *any* SysV semaphore? That would be nasty :-( regards, tom lane