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
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 |