Re: Various silliness in heap_getnext and related routines

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: bruc@acm.org
Cc: pgsql-hackers@postgreSQL.org
Date: 2001-06-09T16:53:28Z
Lists: pgsql-hackers
bruc@stone.congenomics.com (Robert E. Bruccoleri) writes:
> For my immediate problem, would removing the spinlock acquisition
> be OK?

It'd be interesting to remove the marked lines:

	    bufHdr = &BufferDescriptors[buffer - 1];
-	    SpinAcquire(BufMgrLock);
	    if (bufHdr->tag.blockNum == blockNumber &&
	        RelFileNodeEquals(bufHdr->tag.rnode, relation->rd_node))
	    {
-	        SpinRelease(BufMgrLock);
	        return buffer;
	    }
-	    return ReadBufferWithBufferLock(relation, blockNumber, true);

and see how that affects your performance issue, if at all.

			regards, tom lane