> Oh, now I get it: the point is to prevent Tx Old from exiting the set
> of "still running" xacts as seen by Tx S. Okay, it makes sense.
> I'll try to add some documentation to explain it.
TIA! I had no time from '99 -:)
> 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.
> What did you think about reordering the vacuum qual tests and
> AbortTransaction sequence?
Sorry, no time at the moment.
> BTW, I'm starting to think that it would be really nice if we could
> replace our spinlocks with not just a semaphore, but something that has
> a notion of "shared" and "exclusive" lock requests. For example,
> if GetSnapshotData could use a shared lock on SInvalLock, it'd
> improve concurrency.
Yes, we already told about light lock manager (no deadlock detection etc).
Vadim
---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?
http://www.postgresql.org/search.mpl