Received: from localhost (unknown [200.46.208.211]) by mail.postgresql.org (Postfix) with ESMTP id 0E343633763 for ; Fri, 20 Mar 2009 12:46:16 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by localhost (mx1.hub.org [200.46.208.211]) (amavisd-maia, port 10024) with ESMTP id 06688-08 for ; Fri, 20 Mar 2009 12:46:13 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from lists.commandprompt.com (host-159.commandprompt.net [207.173.203.159]) by mail.postgresql.org (Postfix) with ESMTP id 2AE3563353D for ; Fri, 20 Mar 2009 12:46:13 -0300 (ADT) Received: from perhan.alvh.no-ip.org (200-126-101-194.bk7-dsl.surnet.cl [200.126.101.194]) (authenticated bits=0) by lists.commandprompt.com (8.13.8/8.13.8) with ESMTP id n2KFqrG0023121 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 20 Mar 2009 08:52:56 -0700 Received: by perhan.alvh.no-ip.org (Postfix, from userid 1000) id D239747CE0; Fri, 20 Mar 2009 11:46:01 -0400 (CLT) Date: Fri, 20 Mar 2009 11:46:01 -0400 From: Alvaro Herrera To: Scott Carey Cc: Robert Haas , "Jignesh K. Shah" , Greg Smith , Kevin Grittner , "pgsql-performance@postgresql.org" Subject: Re: Proposal of tunable fix for scalability of 8.4 Message-ID: <20090320154601.GC8313@alvh.no-ip.org> References: <603c8f070903191349p5e8fb00as2816581d584fcefd@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0 (lists.commandprompt.com [207.173.203.159]); Fri, 20 Mar 2009 08:52:56 -0700 (PDT) X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0 tagged_above=0 required=5 tests=none X-Spam-Level: X-Archive-Number: 200903/290 X-Sequence-Number: 33212 Scott Carey escribió: > Your description (much of which I cut out) is exactly how I understood > it until Simon Riggs' post which changed my view and understanding. > Under that situation, waking all shared will leave all XXXXX at the > front and hence alternate shared/exclusive/shared/exclusive as long as > both types are contending. Simon's post changed my view. Below is > some cut/paste from it: Simon's explanation, however, is at odds with the code. http://git.postgresql.org/?p=postgresql.git;a=blob;f=src/backend/storage/lmgr/lwlock.c There is "queue jumping" in the regular (heavyweight) lock manager, but that's a pretty different body of code. -- Alvaro Herrera http://www.CommandPrompt.com/ PostgreSQL Replication, Consulting, Custom Development, 24x7 support