Re: Avoid unncessary always true test (src/backend/storage/buffer/bufmgr.c)

From: Richard Guo <guofenglinux(at)gmail(dot)com>
To: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
Cc: michael(at)paquier(dot)xyz, gurjeet(at)singh(dot)im, ranier(dot)vf(at)gmail(dot)com, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Avoid unncessary always true test (src/backend/storage/buffer/bufmgr.c)
Date: 2023-06-14 09:50:41
Message-ID: CAMbWs48ihqQKK=6vBrL75fQoAv8dc3ahJBGyyiDz3YDFAxbTuA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jun 13, 2023 at 3:39 PM Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
wrote:

> Gurjeet has mentioned that eb.rel cannot be modified by another
> process since the value or memory is in the local stack, and I believe
> he's correct.
>
> If the pointed Relation had been blown out, eb.rel would be left
> dangling, not nullified. However, I don't believe this situation
> happens (or it shouldn't happen) as the entire relation should already
> be locked.

Yeah, Gurjeet is right. I had a thinko here. eb.rel should not be NULL
pointer in any case. And as we've acquired the lock for it, it should
not have been closed. So I think we can remove the check for eb.rel in
the two places.

Thanks
Richard

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Richard Guo 2023-06-14 09:52:53 Re: Replace (GUC_UNIT_MEMORY | GUC_UNIT_TIME) with GUC_UNIT in guc.c
Previous Message Tomas Vondra 2023-06-14 09:44:23 Re: Do we want a hashset type?