use LW_SHARED in dsa_get_total_size() - Mailing list pgsql-hackers

From Nathan Bossart
Subject use LW_SHARED in dsa_get_total_size()
Date
Msg-id aS8fMzWs9e8iHxk2@nathan
Whole thread Raw
Responses Re: use LW_SHARED in dsa_get_total_size()
List pgsql-hackers
On Tue, Dec 02, 2025 at 10:31:33AM -0600, Nathan Bossart wrote:
> On Tue, Dec 02, 2025 at 02:28:29PM +0530, Rahila Syed wrote:
>> Thank you for highlighting the discussions. I'm unsure about the best
>> approach here, but I think it would be safe to stay consistent with the
>> rest of the code in dsa.c, especially since it's unclear that the use of
>> LW_EXCLUSIVE for reading values in dsa is a mistake.
> 
> Okay.  I switched to LW_EXCLUSIVE and will consider starting a new thread
> to use LW_SHARED when possible in dsa.c.

Here is a patch that switches to LW_SHARED in dsa_get_total_size() and
dsa_get_total_size_from_handle().  Another candidate was dsa_dump(), but
that function appears to do some things that require more than a shared
lock.  In any case, it's just a debugging function, and I found no uses
in-tree or elsewhere.

-- 
nathan

Attachment

pgsql-hackers by date:

Previous
From: Nathan Bossart
Date:
Subject: Re: show size of DSAs and dshash tables in pg_dsm_registry_allocations
Next
From: Heikki Linnakangas
Date:
Subject: Re: All-visible pages with valid prune xid are confusing