Skip site navigation (1) Skip section navigation (2)

Re: Revised Patch to allow multiple table locks in "Unison"

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Fernando Nasser <fnasser(at)redhat(dot)com>
Cc: Neil Padgett <npadgett(at)redhat(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Hiroshi Inoue <Inoue(at)tpf(dot)co(dot)jp>, "pgsql-patches(at)postgresql(dot)org" <pgsql-patches(at)postgresql(dot)org>
Subject: Re: Revised Patch to allow multiple table locks in "Unison"
Date: 2001-07-30 18:14:18
Message-ID: 200107301814.f6UIEIa17561@candle.pha.pa.us (view raw or flat)
Thread:
Lists: pgsql-hackerspgsql-patches
> Bruce Momjian wrote:
> > 
> > > It seems to me that we already have a small sleep in place. After all, in
> > > order to acquite a lock, the shared memory area has to be accessed. So,
> > > the contenders for a lock both have to go through a spin lock. So, if we
> > > have the two "stuck" processes as in Tom's example, one will win at
> > > acquiring the spin lock and the other will have to wait. So, they become
> > > desynchronized, regardless of how many CPUs or what memory architecture
> > > you have.
> > 
> > I see your point now, that they can't synchronize because they have to
> > go through the same semaphore and therefore get out of sync.  Do they
> > get out of sync enough for one to get the lock while the other is not
> > holding it, or do the locks actually keep them in sync?  I don't know
> > the answer.
> > 
> 
> That is a good point.  With the current random sleeps it helps breaking
> the
> lockstep of the two processes, but when it is changed to a queue the
> random
> sleeps won't be there anymore.

Also most systems can't sleep less than one clock tick, 10ms, meaning
the sleeps aren't very random.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman(at)candle(dot)pha(dot)pa(dot)us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

In response to

pgsql-hackers by date

Next:From: Mikheev, VadimDate: 2001-07-30 18:17:44
Subject: RE: Performance TODO items
Previous:From: Fernando NasserDate: 2001-07-30 18:09:41
Subject: Re: Revised Patch to allow multiple table locks in "Unison"

pgsql-patches by date

Next:From: Tom LaneDate: 2001-07-30 18:22:30
Subject: Re: Revised Patch to allow multiple table locks in "Unison"
Previous:From: Fernando NasserDate: 2001-07-30 18:09:41
Subject: Re: Revised Patch to allow multiple table locks in "Unison"

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group