Received: from ece.rice.edu (ece.rice.edu [128.42.4.34]) by postgresql.org (8.11.3/8.11.4) with ESMTP id g0TGS1l42721; Tue, 29 Jan 2002 11:28:01 -0500 (EST) (envelope-from reedstrm@rice.edu) Received: from localhost (localhost [127.0.0.1]) by ece.rice.edu (Postfix) with ESMTP id CE27068A6C; Tue, 29 Jan 2002 10:28:05 -0600 (CST) Received: from wallace.ece.rice.edu (wallace.ece.rice.edu [128.42.12.154]) by ece.rice.edu (Postfix) with ESMTP id A0C6A68A68; Tue, 29 Jan 2002 10:28:04 -0600 (CST) Received: from reedstrm by wallace.ece.rice.edu with local (Exim 3.22 #1 (Debian)) id 16Vb76-0000Qg-00; Tue, 29 Jan 2002 10:28:04 -0600 Date: Tue, 29 Jan 2002 10:28:04 -0600 From: "Ross J. Reedstrom" To: mlw Cc: Hannu Krosing , Justin Clift , Tom Lane , Zeugswetter Andreas SB SD , Vince Vielhaber , pgsql-hackers@postgresql.org Subject: Re: sequence indexes Message-ID: <20020129162804.GA1525@rice.edu> Mail-Followup-To: "Ross J. Reedstrom" , mlw , Hannu Krosing , Justin Clift , Tom Lane , Zeugswetter Andreas SB SD , Vince Vielhaber , pgsql-hackers@postgresql.org References: <46C15C39FEB2C44BA555E356FBCD6FA42128E2@m0114.s-mxs.net> <6862.1011996346@sss.pgh.pa.us> <3C5263F6.1BADDB0B@postgresql.org> <3C55B4E7.29F287B2@mohawksoft.com> <3C56506C.2AD21A41@tm.ee> <3C569908.2D7254EC@mohawksoft.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3C569908.2D7254EC@mohawksoft.com> User-Agent: Mutt/1.3.25i X-Virus-Scanned: by AMaViS snapshot-20010714 X-Archive-Number: 200201/1305 X-Sequence-Number: 18269 On Tue, Jan 29, 2002 at 07:43:52AM -0500, mlw wrote: > Hannu Krosing wrote: > > > > mlw wrote: > > > > One must be very careful not to introduce reverse priority problems - > > i.e. a > > lower priority process locking some resource and then not letting go > > while > > higher priority processes are blocked from running due to needing that > > lock. > I understand that, hmm. I wonder if the lock code could boost the priority of a > process which owns a lock. > The classic approach to solving priority inversion is to allow for priority inheritance: that is, the low-priority process stays low priority, even when it locks a resource, until there is contention for that resource from a higher priority process: then it inherits the higher priority of the waiting process. Ross