From: Masahiko Sawada [mailto:sawada.m...@gmail.com] > for (i = 0; i < NBuffers; i++) > { > (snip) > buf_state = LockBufHdr(bufHdr); > > /* check with the lower bound and skip the loop */ > if (bufHdr->tag.blockNum < minBlock) > { > UnlockBufHdr(bufHdr, buf_state); > continue; > } > > for (k = 0; k < nforks; k++) > { > if (RelFileNodeEquals(bufHdr->tag.rnode, rnode.node) && > bufHdr->tag.forkNum == forkNum[k] && > bufHdr->tag.blockNum >= firstDelBlock[k]) > > But since we acquire the buffer header lock after all and the number > of the internal loops is small (at most 3 for now) the benefit will > not be big.
Yeah, so I think we can just compare the block number without locking the buffer header here. Regards Takayuki Tsunakawa