Re: failed NUMA pages inquiry status: Operation not permitted - Mailing list pgsql-hackers

From Bertrand Drouvot
Subject Re: failed NUMA pages inquiry status: Operation not permitted
Date
Msg-id aXhc28njnkK/eIpE@ip-10-97-1-34.eu-west-3.compute.internal
Whole thread Raw
In response to Re: failed NUMA pages inquiry status: Operation not permitted  (Tomas Vondra <tomas@vondra.me>)
List pgsql-hackers
Hi,

On Tue, Jan 27, 2026 at 12:32:28AM +0100, Tomas Vondra wrote:
> On 1/16/26 22:29, Tomas Vondra wrote:
> > Hi,
> > 
> > Here's WIP fix for the root cause, i.e. handling status -2 in the two
> > views querying NUMA node for memory pages:
> > 
> > * pg_shmem_allocations_numa
> > * pg_buffercache_numa
> > 
> > We can't prevent -2 from happening - the kernel can move arbitrary pages
> > to swap, we have no control over it. So I think we need to handle -2 as
> > "unknown" node, instead of failing. The patch simply returns NULL
> > instead of the node, but in principle we might return some other value
> > (but IMHO we should not return the raw status, the -2 makes no sense in
> > our context, it's some internal kernel errno).
> > 
> > The pg_buffercache_numa was not failing, it just returned the -2 status
> > verbatim. But I modified it to return NULL, for consistency.
> > 
> > AFAIK this will fix the regression tests too - they only check COUNT(*),
> > not the actual values.
> > 
> > I'm not sure if we need to mention this in the docs. It probably should
> > mention the column can be NULL, which means "unknown node".
> > 
> 
> Pushed and backpatched to 18. Hopefully that fixes this.

Should 09c37015d49665c52ae7eabd5852af36851aede4 be added to .git-blame-ignore-revs?

Regards,

-- 
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com



pgsql-hackers by date:

Previous
From: "Zhijie Hou (Fujitsu)"
Date:
Subject: Fix the race condition for updating slot minimum LSN
Next
From: Michael Paquier
Date:
Subject: Re: Proposal: Cascade REPLICA IDENTITY changes to leaf partitions