TransactionIdIsInProgress() cache - Mailing list pgsql-patches

From Simon Riggs
Subject TransactionIdIsInProgress() cache
Date
Msg-id 1202307926.29242.17.camel@ebony.site
Whole thread Raw
Responses Re: TransactionIdIsInProgress() cache
Re: TransactionIdIsInProgress() cache
Re: TransactionIdIsInProgress() cache
List pgsql-patches
We currently have a single item cache of the last checked TransactionId,
which optimises the call to TransactionIdDidCommit() during
HeapTupleSatisfiesMVCC() and partners.

Before we call TransactionIdDidCommit() we always call
TransactionIdIsInProgress().

TransactionIdIsInProgress() doesn't check the single item cache, so even
if we have just checked for this xid, we will check it again. Since this
function takes ProcArrayLock and may be called while holding other locks
it will improve scalability if we can skip the call, for the cost of an
integer comparison.

Following patch implements fastpath in TransactionIdIsInProgress() to
utilise single item cache.

--
  Simon Riggs
  2ndQuadrant  http://www.2ndQuadrant.com

Attachment

pgsql-patches by date:

Previous
From:
Date:
Subject: 2WRS [WIP]
Next
From: David Fetter
Date:
Subject: Re: 2WRS [WIP]