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

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

Isn't spinlock just a few ASM instructions?... on most platforms...

Vadim


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Rule recompilation
Next
From: Jean-Michel POURE
Date:
Subject: Re: Rule recompilation