Re: Draft for basic NUMA observability - Mailing list pgsql-hackers

From Tomas Vondra
Subject Re: Draft for basic NUMA observability
Date
Msg-id 90e60c25-783a-4a47-a022-28698d27e75a@vondra.me
Whole thread Raw
In response to Re: Draft for basic NUMA observability  (Bertrand Drouvot <bertranddrouvot.pg@gmail.com>)
Responses Re: Draft for basic NUMA observability
Re: Draft for basic NUMA observability
List pgsql-hackers
On 4/5/25 11:37, Bertrand Drouvot wrote:
> Hi,
> 
> On Fri, Apr 04, 2025 at 09:25:57PM +0200, Tomas Vondra wrote:
>> OK,
>>
>> here's v25 after going through the patches once more, fixing the issues
>> mentioned by Bertrand, etc.
> 
> Thanks!
> 
>> I think 0001 and 0002 are fine,
> 
> Agree, I just have some cosmetic nits comments: please find them in
> nit-bertrand-0002.txt attached.
> 
>> I have a
>> couple minor questions about 0003.
>>
>> - I was wondering if maybe we should have some "global ID" of memory
>> page, so that with large memory pages it's indicated the buffers are on
>> the same memory page. Right now each buffer starts page_num from 0, but
>> it should not be very hard to have a global counter. Opinions?
> 
> I think that's a good idea. We could then add a new column (say os_page_id) that
> would help identify which buffers are sharing the same "physical" page.
> 

I was thinking we'd change the definition of the existing page_num
column, i.e. it wouldn't be 0..N sequence for each buffer, but a global
page ID. But I don't know if this would be useful in practice.

>> 0003
>> ----
>> - Minor formatting tweaks, comment improvements.
>> - Isn't this comment a bit confusing / misleading?
>>
>>     /* Get number of OS aligned pages */
>>
>> AFAICS the point is to adjust the allocated_size to be a multiple of
>> os-page_size, to get "all" memory pages the segment uses. But that's not
>> what I understand by "aligned page" (which is about there the page is
>> expected to start).
> 
> Agree, what about? 
> 
> "
> Align the start of the allocated size to an OS page size boundary and then get
> the total number of OS pages used by this segment"
> "
> 

Something like that. But I think it should be "align the size of ...",
we're not aligning the start.

>> - There's a comment at the end which talks about "ignored segments".
>> IMHO that type of information should be in the function comment,
>> but I'm
>> also not quite sure I understand what "output shared memory" is ...
> 
> I think that comes from the comments that are already in
> pg_get_shmem_allocations().
> 
> I think that those are located here and worded that way to ease to understand 
> what is not in with pg_get_shmem_allocations_numa() if one look at both
> functions. That said, I'm +1 to put this kind of comments in the function comment.
> 

OK. But I'm still not sure what "output shared memory" is about. Can you
explain what shmem segments are not included?


regards

-- 
Tomas Vondra




pgsql-hackers by date:

Previous
From: Junwang Zhao
Date:
Subject: Re: SQL Property Graph Queries (SQL/PGQ)
Next
From: Noah Misch
Date:
Subject: Re: AIO v2.5