RE: [PATCH] Speedup truncates of relation forks - Mailing list pgsql-hackers

From Tsunakawa, Takayuki
Subject RE: [PATCH] Speedup truncates of relation forks
Date
Msg-id 0A3221C70F24FB45833433255569204D1FC4DBC5@G01JPEXMBYT05
Whole thread Raw
In response to Re: [PATCH] Speedup truncates of relation forks  (Masahiko Sawada <sawada.mshk@gmail.com>)
List pgsql-hackers
From: Masahiko Sawada [mailto:sawada.mshk@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


pgsql-hackers by date:

Previous
From: David Rowley
Date:
Subject: Re: Parallel grouping sets
Next
From: Michael Paquier
Date:
Subject: Re: Backend specific ifdefs in sha2.h