Re: failed NUMA pages inquiry status: Operation not permitted
| От | Christoph Berg |
|---|---|
| Тема | Re: failed NUMA pages inquiry status: Operation not permitted |
| Дата | |
| Msg-id | aPENGAkcrLyB_NLC@msg.df7cb.de обсуждение исходный текст |
| Ответ на | Re: failed NUMA pages inquiry status: Operation not permitted (Christoph Berg <myon@debian.org>) |
| Список | 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
В списке pgsql-hackers по дате отправления: