Re: Re: Strangeness in xid allocation / snapshot setup

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Mikheev, Vadim" <vmikheev(at)SECTORBASE(dot)COM>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: Re: Strangeness in xid allocation / snapshot setup
Date: 2001-07-12 18:37:23
Message-ID: 11523.994963043@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

"Mikheev, Vadim" <vmikheev(at)SECTORBASE(dot)COM> writes:
>> Given this, I'm wondering why we bother with having a separate
>> XidGenLock spinlock at all. Why not eliminate it and use SInval
>> spinlock to lock GetNewTransactionId and ReadNewTransactionId?

> Reading all MyProc in GetSnashot may take long time - why disallow
> new Tx to begin.

Because we need to synchronize? It bothers me that we're assuming
that fetching/storing XIDs is atomic. There's no possibility at all
of going to 8-byte XIDs as long as the code is like this.

I doubt that a spinlock per PROC structure would be a better answer,
either; the overhead of getting and releasing each lock would be
nontrivial, considering the small number of instructions spent at
each PROC in these routines.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Jan Wieck 2001-07-12 18:39:21 Re: Rule recompilation
Previous Message Alex Pilosov 2001-07-12 18:30:28 Re: Rule recompilation