]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fix comment in pg_get_shmem_allocations_numa()
authorMichael Paquier <michael@paquier.xyz>
Tue, 21 Oct 2025 07:12:30 +0000 (16:12 +0900)
committerMichael Paquier <michael@paquier.xyz>
Tue, 21 Oct 2025 07:12:30 +0000 (16:12 +0900)
The comment fixed in this commit described the function as dealing with
database blocks, but in reality it processes shared memory allocations.

Author: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Discussion: https://postgr.es/m/aH4DDhdiG9Gi0rG7@ip-10-97-1-34.eu-west-3.compute.internal
Backpatch-through: 18

src/backend/storage/ipc/shmem.c

index a0770e867968a1120a903fd93362700fb1eac41a..b3d0a10792dc7fb0c756aca07b914eb835ccb90f 100644 (file)
@@ -606,16 +606,13 @@ pg_get_shmem_allocations_numa(PG_FUNCTION_ARGS)
        nodes = palloc(sizeof(Size) * (max_nodes + 1));
 
        /*
-        * Different database block sizes (4kB, 8kB, ..., 32kB) can be used, while
-        * the OS may have different memory page sizes.
+        * Shared memory allocations can vary in size and may not align with OS
+        * memory page boundaries, while NUMA queries work on pages.
         *
-        * To correctly map between them, we need to: 1. Determine the OS memory
-        * page size 2. Calculate how many OS pages are used by all buffer blocks
-        * 3. Calculate how many OS pages are contained within each database
-        * block.
-        *
-        * This information is needed before calling move_pages() for NUMA memory
-        * node inquiry.
+        * To correctly map each allocation to NUMA nodes, we need to: 1.
+        * Determine the OS memory page size. 2. Align each allocation's start/end
+        * addresses to page boundaries. 3. Query NUMA node information for all
+        * pages spanning the allocation.
         */
        os_page_size = pg_get_shmem_pagesize();