Re: Re: Strangeness in xid allocation / snapshot setup - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Re: Strangeness in xid allocation / snapshot setup
Date
Msg-id 11523.994963043@sss.pgh.pa.us
Whole thread Raw
In response to RE: Re: Strangeness in xid allocation / snapshot setup  ("Mikheev, Vadim" <vmikheev@SECTORBASE.COM>)
List pgsql-hackers
"Mikheev, Vadim" <vmikheev@SECTORBASE.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


pgsql-hackers by date:

Previous
From: "Mikheev, Vadim"
Date:
Subject: RE: Rule recompilation
Next
From: Jan Wieck
Date:
Subject: Re: Rule recompilation