Re: pgsql: Introduce pg_shmem_allocations_numa view

Tomas Vondra <tomas@vondra.me>

From: Tomas Vondra <tomas@vondra.me>
To: Christoph Berg <myon@debian.org>
Cc: Andres Freund <andres@anarazel.de>, Tomas Vondra <tomas.vondra@postgresql.org>, pgsql-hackers@lists.postgresql.org
Date: 2025-06-23T21:47:00Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Handle EPERM in pg_numa_init

  2. Add CHECK_FOR_INTERRUPTS into pg_numa_query_pages

  3. Silence valgrind about pg_numa_touch_mem_if_required

  4. Limit the size of numa_move_pages requests

  5. Introduce pg_shmem_allocations_numa view


On 6/23/25 23:25, Christoph Berg wrote:
> Re: Tomas Vondra
>> True. If it fails on first call, but succeeds on the other, then the
>> problem is likely somewhere else. But also on the second call we won't
>> do the memory touching. Can you try setting firstNumaTouch=false, so
>> that we do this on every call?
> 
> firstNumaTouch=false, it still fails on the first call.
> 
> I assume you meant actually keeping firstNumaTouch=true - but it still
> fails on the first call.
> 

No, I meant firstNumaTouch=false, so that the touching happens on every
call. I was wondering if that makes all calls fail.

> The memory touching is done for the first call in each backend, but
> reconnecting doesn't reset it, I have to restart PG.
> 

I don't follow. Why wouldn't reconnecting reset it?

>> At the beginning you mentioned this is happening on i386, armel and
>> armhf - are all those in qemu? I've tried on my rpi5 (with 32-bit user
>> space), and there everything seems to work fine. But that's aarch64
>> kernel, just the user space if 32-bit.
> 
> I'm testing on i386 in a chroot on a amd64 kernel. (same for x32)
> armel and armhf are also 32-bit chroots on a arm64 host.
> 
> https://buildd.debian.org/status/package.php?p=postgresql-18&suite=experimental
> 
> Maybe this is a kernel bug.
> 

Or maybe the 32-bit chroot on 64-bit host matters and confuses some
calculation.


-- 
Tomas Vondra