diff options
author | Tomas Vondra <tomas.vondra@postgresql.org> | 2025-04-07 22:51:49 +0200 |
---|---|---|
committer | Tomas Vondra <tomas.vondra@postgresql.org> | 2025-04-07 23:08:17 +0200 |
commit | 65c298f61fc70f2f960437c05649f71b862e2c48 (patch) | |
tree | c6f990de6bee1ab4c8b01f18c9e9b8f44e9dcc7c /src/backend/tcop/postgres.c | |
parent | 17bcf4f5450430f67b744c225566c9e0e6413e95 (diff) | |
download | postgresql-65c298f61fc70f2f960437c05649f71b862e2c48.tar.gz postgresql-65c298f61fc70f2f960437c05649f71b862e2c48.zip |
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 the NUMA library.
The main function introduced is pg_numa_query_pages(), which allows
determining the NUMA node for individual memory pages. Internally the
function uses move_pages(2) syscall, as it allows batching, and is more
efficient than 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
Diffstat (limited to 'src/backend/tcop/postgres.c')
0 files changed, 0 insertions, 0 deletions