Re: Draft for basic NUMA observability

Tomas Vondra <tomas@vondra.me>

From: Tomas Vondra <tomas@vondra.me>
To: Andres Freund <andres@anarazel.de>, Kirill Reshke <reshkekirill@gmail.com>
Cc: Jakub Wartak <jakub.wartak@enterprisedb.com>, Bertrand Drouvot <bertranddrouvot.pg@gmail.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Nazir Bilal Yavuz <byavuz81@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2025-04-08T13:21:57Z
Lists: pgsql-hackers
On 4/8/25 15:06, Andres Freund wrote:
> Hi,
> 
> On 2025-04-08 17:44:19 +0500, Kirill Reshke wrote:
>> On Mon, 7 Apr 2025 at 23:00, Tomas Vondra <tomas@vondra.me> wrote:
>>> I'll let the CI run the tests on it, and
>>> then will push, unless someone has more comments.
>>>
>>
>>
>> Hi! I noticed strange failure after this commit[0]
>>
>> Looks like it is related to 65c298f61fc70f2f960437c05649f71b862e2c48
>>
>> In file included from  [01m [K../pgsql/src/include/postgres.h:49 [m [K,
>>                  from  [01m [K../pgsql/src/port/pg_numa.c:16 [m [K:
>>  [01m [K../pgsql/src/include/utils/elog.h:79:10: [m [K
>>  [01;31m [Kfatal error:  [m [Kutils/errcodes.h: No such file or
>> directory
>>    79 | #include  [01;31m [K"utils/errcodes.h" [m [K
>>       |           [01;31m [K^~~~~~~~~~~~~~~~~~ [m [K
>> compilation terminated.
> 
> $ ninja -t missingdeps
> Missing dep: src/port/libpgport.a.p/pg_numa.c.o uses src/include/utils/errcodes.h (generated by CUSTOM_COMMAND)
> Missing dep: src/port/libpgport_shlib.a.p/pg_numa.c.o uses src/include/utils/errcodes.h (generated by CUSTOM_COMMAND)
> Processed 2384 nodes.
> Error: There are 2 missing dependency paths.
> 2 targets had depfile dependencies on 1 distinct generated inputs (from 1 rules)  without a non-depfile dep path to the generator.
> There might be build flakiness if any of the targets listed above are built alone, or not late enough, in a clean output directory.
> 
> 
> I think it's not right that something in src/port defines an SQL callable
> function. The set of headers for that pull in a lot of things.
> 
> Since the file relies on things like GUCs, I suspect this should be in
> src/backend/port or such instead.
> 

Yeah, I think you're right, src/backend/port seems like a better place
for this. I'll look into moving that in the evening.


regards

-- 
Tomas Vondra




Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. doc: Correct pg_shmem_allocations_numa.size data type

  2. Add pg_buffercache_numa view with NUMA node info

  3. Add support for basic NUMA awareness

  4. Introduce pg_shmem_allocations_numa view