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

From Tomas Vondra
Subject Re: failed NUMA pages inquiry status: Operation not permitted
Date
Msg-id e13418e8-0596-4955-868d-5376bdb0496f@vondra.me
Whole thread Raw
In response to Re: failed NUMA pages inquiry status: Operation not permitted  (Jakub Wartak <jakub.wartak@enterprisedb.com>)
Responses Re: failed NUMA pages inquiry status: Operation not permitted
List pgsql-hackers
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".


regards

-- 
Tomas Vondra

Attachment

pgsql-hackers by date:

Previous
From: Alexandra Wang
Date:
Subject: jsonb subscripting vs SQL/JSON array accessor semantics (SQL:2023)
Next
From: Nathan Bossart
Date:
Subject: Re: [PATCH] ternary reloption type