"Mikheev, Vadim" <[EMAIL PROTECTED]> 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

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to