From: | Christoph Berg <myon(at)debian(dot)org> |
---|---|
To: | Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com> |
Cc: | Tomas Vondra <tomas(at)vondra(dot)me>, Andres Freund <andres(at)anarazel(dot)de>, Tomas Vondra <tomas(dot)vondra(at)postgresql(dot)org>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: pgsql: Introduce pg_shmem_allocations_numa view |
Date: | 2025-06-24 18:24:22 |
Message-ID: | aFrtVtgd2wxY3k59@msg.df7cb.de |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers pgsql-hackers |
Re: Bertrand Drouvot
> Yes, something like:
>
> diff --git a/src/backend/storage/ipc/shmem.c b/src/backend/storage/ipc/shmem.c
> index c9ae3b45b76..070ad2f13e7 100644
> --- a/src/backend/storage/ipc/shmem.c
> +++ b/src/backend/storage/ipc/shmem.c
> @@ -689,8 +689,17 @@ pg_get_shmem_allocations_numa(PG_FUNCTION_ARGS)
> CHECK_FOR_INTERRUPTS();
> }
>
> - if (pg_numa_query_pages(0, shm_ent_page_count, page_ptrs, pages_status) == -1)
> - elog(ERROR, "failed NUMA pages inquiry status: %m");
> + #define NUMA_QUERY_CHUNK_SIZE 16 /* has to be <= DO_PAGES_STAT_CHUNK_NR (do_pages_stat())*/
> +
> + for (uint64 chunk_start = 0; chunk_start < shm_ent_page_count; chunk_start += NUMA_QUERY_CHUNK_SIZE) {
> + uint64 chunk_size = Min(NUMA_QUERY_CHUNK_SIZE, shm_ent_page_count - chunk_start);
> +
> + if (pg_numa_query_pages(0, chunk_size, &page_ptrs[chunk_start],
> + &pages_status[chunk_start]) == -1)
> + elog(ERROR, "failed NUMA pages inquiry status: %m");
> + }
> +
> + #undef NUMA_QUERY_CHUNK_SIZE
I uploaded a variant of this patch to Debian and it seems to have fixed the issue:
https://buildd.debian.org/status/package.php?p=postgresql-18&suite=experimental
(No reply from linux-mm yet.)
Christoph
Attachment | Content-Type | Size |
---|---|---|
move-pages32 | text/plain | 2.3 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Tomas Vondra | 2025-06-24 20:32:25 | Re: pgsql: Introduce pg_shmem_allocations_numa view |
Previous Message | Tom Lane | 2025-06-24 18:14:29 | pgsql: Prevent excessive delays before launching new logrep workers. |
From | Date | Subject | |
---|---|---|---|
Next Message | Dean Rasheed | 2025-06-24 18:49:23 | Allow ON CONFLICT DO UPDATE to return EXCLUDED values |
Previous Message | Nathan Bossart | 2025-06-24 18:21:56 | Re: problems with toast.* reloptions |