From: | Christoph Berg <myon(at)debian(dot)org> |
---|---|
To: | Tomas Vondra <tomas(at)vondra(dot)me> |
Cc: | Jakub Wartak <jakub(dot)wartak(at)enterprisedb(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: failed NUMA pages inquiry status: Operation not permitted |
Date: | 2025-10-16 15:19:52 |
Message-ID: | aPENGAkcrLyB_NLC@msg.df7cb.de |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers pgsql-hackers |
> So maybe all that's needed is a get_mempolicy() call in
> pg_numa_available() ?
numactl 2.0.19 --show does this:
if (numa_available() < 0) {
show_physcpubind();
printf("No NUMA support available on this system.\n");
exit(1);
}
int numa_available(void)
{
if (get_mempolicy(NULL, NULL, 0, 0, 0) < 0 && (errno == ENOSYS || errno == EPERM))
return -1;
return 0;
}
pg_numa_available is already calling numa_available.
But numactl 2.0.16 has this:
int numa_available(void)
{
if (get_mempolicy(NULL, NULL, 0, 0, 0) < 0 && errno == ENOSYS)
return -1;
return 0;
}
... which is not catching the "permission denied" error I am seeing.
So maybe PG should implement numa_available itself like that. (Or
accept the output difference so the regression tests are passing.)
Christoph
From | Date | Subject | |
---|---|---|---|
Next Message | Nathan Bossart | 2025-10-16 16:32:07 | pgsql: Remove partColsUpdated. |
Previous Message | Tomas Vondra | 2025-10-16 15:09:59 | Re: failed NUMA pages inquiry status: Operation not permitted |
From | Date | Subject | |
---|---|---|---|
Next Message | Philip Alger | 2025-10-16 15:22:01 | Re: [PATCH] Add pg_get_trigger_ddl() to retrieve the CREATE TRIGGER statement |
Previous Message | Tomas Vondra | 2025-10-16 15:09:59 | Re: failed NUMA pages inquiry status: Operation not permitted |