Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: postgresql-cfbot/postgresql
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: cf/5558~1
Choose a base ref
...
head repository: postgresql-cfbot/postgresql
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: cf/5558
Choose a head ref
  • 6 commits
  • 37 files changed
  • 4 contributors

Commits on Apr 4, 2025

  1. Add support for basic NUMA awareness

    Add basic NUMA awareness routines, using a minimal src/port/pg_numa.c
    portability wrapper and an optional build dependency, enabled by
    --with-libnuma configure option. For now this is Linux-only, other
    platforms may be supported later.
    
    A built-in SQL function pg_numa_available() allows checking NUMA
    support, i.e. that the server was built/linked with NUMA library.
    
    The libnuma library is not available on 32-bit builds (there's no shared
    object for i386), so we disable it in that case. The i386 is very memory
    limited anyway, even with PAE, so NUMA is mostly irrelevant.
    
    On Linux we use move_pages(2) syscall for speed instead of
    get_mempolicy(2).
    
    Author: Jakub Wartak <jakub.wartak@enterprisedb.com>
    Co-authored-by: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
    Reviewed-by: Andres Freund <andres@anarazel.de>
    Reviewed-by: Álvaro Herrera <alvherre@alvh.no-ip.org>
    Reviewed-by: Tomas Vondra <tomas@vondra.me>
    Discussion: https://postgr.es/m/CAKZiRmxh6KWo0aqRqvmcoaX2jUxZYb4kGp3N%3Dq1w%2BDiH-696Xw%40mail.gmail.com
    2 people authored and Commitfest Bot committed Apr 4, 2025
    Configuration menu
    Copy the full SHA
    d5a4371 View commit details
    Browse the repository at this point in the history
  2. Add pg_buffercache_numa view with NUMA node info

    Introduces a new view pg_buffercache_numa, showing a NUMA memory node
    for each individual buffer.
    
    To determine the NUMA node for a buffer, we first need to touch the
    memory pages using pg_numa_touch_mem_if_required, otherwise we might get
    status -2 (ENOENT = The page is not present), indicating the page is
    either unmapped or unallocated.
    
    The size of a database block and OS memory page may differ. For example
    the default block size (BLCKSZ) is 8KB, while the memory page is 4KB,
    but it's also possible to make the block size smaller (e.g. 1KB).
    
    Author: Jakub Wartak <jakub.wartak@enterprisedb.com>
    Reviewed-by: Andres Freund <andres@anarazel.de>
    Reviewed-by: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
    Reviewed-by: Tomas Vondra <tomas@vondra.me>
    Discussion: https://postgr.es/m/CAKZiRmxh6KWo0aqRqvmcoaX2jUxZYb4kGp3N%3Dq1w%2BDiH-696Xw%40mail.gmail.com
    tvondra authored and Commitfest Bot committed Apr 4, 2025
    Configuration menu
    Copy the full SHA
    d38ba4f View commit details
    Browse the repository at this point in the history
  3. review

    tvondra authored and Commitfest Bot committed Apr 4, 2025
    Configuration menu
    Copy the full SHA
    be175a9 View commit details
    Browse the repository at this point in the history
  4. Introduce pg_shmem_allocations_numa view

    Introduce new pg_shmem_alloctions_numa view with information about how
    shared memory is distributed across NUMA nodes.
    
    Author: Jakub Wartak <jakub.wartak@enterprisedb.com>
    Reviewed-by: Andres Freund <andres@anarazel.de>
    Reviewed-by: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
    Reviewed-by: Tomas Vondra <tomas@vondra.me>
    Discussion: https://postgr.es/m/CAKZiRmxh6KWo0aqRqvmcoaX2jUxZYb4kGp3N%3Dq1w%2BDiH-696Xw%40mail.gmail.com
    jakubwartakEDB authored and Commitfest Bot committed Apr 4, 2025
    Configuration menu
    Copy the full SHA
    4df22a2 View commit details
    Browse the repository at this point in the history
  5. review

    tvondra authored and Commitfest Bot committed Apr 4, 2025
    Configuration menu
    Copy the full SHA
    826d492 View commit details
    Browse the repository at this point in the history
  6. [CF 5558] v25 - Draft for basic NUMA observability

    This branch was automatically generated by a robot using patches from an
    email thread registered at:
    
    https://commitfest.postgresql.org/patch/5558
    
    The branch will be overwritten each time a new patch version is posted to
    the thread, and also periodically to check for bitrot caused by changes
    on the master branch.
    
    Patch(es): https://www.postgresql.org/message-id/ce8903b2-8cf7-43c9-bd50-9675c256da39@vondra.me
    Author(s): Jakub Wartak
    Commitfest Bot committed Apr 4, 2025
    Configuration menu
    Copy the full SHA
    8b5a78c View commit details
    Browse the repository at this point in the history
Loading