postgresql/src/tools
Andres Freund f54af9f267 aio: Combine io_uring memory mappings, if supported
By default io_uring creates a shared memory mapping for each io_uring
instance, leading to a large number of memory mappings. Unfortunately a large
number of memory mappings slows things down, backend exit is particularly
affected.  To address that, newer kernels (6.5) support using user-provided
memory for the memory. By putting the relevant memory into shared memory we
don't need any additional mappings.

On a system with a new enough kernel and liburing, there is no discernible
overhead when doing a pgbench -S -C anymore.

Reported-by: MARK CALLAGHAN <mdcallag@gmail.com>
Reviewed-by: "Burd, Greg" <greg@burd.me>
Reviewed-by: Jim Nasby <jnasby@upgrade.com>
Discussion: https://postgr.es/m/CAFbpF8OA44_UG+RYJcWH9WjF7E3GA6gka3gvH6nsrSnEe9H0NA@mail.gmail.com
Backpatch-through: 18
2025-07-07 22:57:07 -04:00
..
ci Align log_line_prefix in CI and TAP tests with pg_regress.c 2025-06-30 13:56:31 +09:00
editors Make Emacs perl-mode indent more like perltidy. 2019-01-13 11:32:31 -08:00
ifaddrs Update copyright for 2025 2025-01-01 11:21:55 -05:00
perlcheck Activate perlcritic InputOutput::RequireCheckedSyscalls and fix resulting warnings 2024-03-19 07:09:31 +01:00
pg_bsd_indent Apply more consistent style for command options in TAP tests 2025-03-17 12:42:23 +09:00
pginclude Add a bit of documentation related to IWYU 2025-01-15 18:57:53 +01:00
pgindent aio: Combine io_uring memory mappings, if supported 2025-07-07 22:57:07 -04:00
add_commit_links.pl Run perltidy 2025-01-22 10:15:32 +09:00
ccsym tools/ccsym: update for modern versions of gcc 2015-01-20 13:02:58 -05:00
check_bison_recursion.pl Update copyright for 2025 2025-01-01 11:21:55 -05:00
codelines Fix remaining stray references to CVS. 2010-09-22 19:51:39 -04:00
copyright.pl Update copyright for 2025 2025-01-01 11:21:55 -05:00
darwin_sysroot Move darwin sysroot determination into separate file 2022-09-01 16:54:19 -07:00
find_badmacros Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
find_meson meson: Add initial version of meson based build system 2022-09-21 22:37:17 -07:00
find_static Fix trap in a few shell scripts 2022-09-20 18:50:16 +02:00
find_typedef Refer to OS X as "macOS", except for the port name which is still "darwin". 2016-09-25 15:40:57 -04:00
gen_export.pl Update copyright for 2025 2025-01-01 11:21:55 -05:00
gen_keywordlist.pl Update copyright for 2025 2025-01-01 11:21:55 -05:00
generate_editorconfig.py Add script to keep .editorconfig in sync with .gitattributes 2025-02-01 10:09:45 +01:00
git-external-diff Preserve information on use of git-external-diff 2018-05-24 23:45:31 +09:30
git_changelog Fix whitespace 2025-06-30 11:38:18 +02:00
install_files meson: make install_test_files more generic, rename to install_files 2023-03-23 21:20:18 -07:00
make_ctags Fix make_etags breakage on certain platforms. 2023-06-14 11:02:50 +09:00
make_etags Fix make_etags failure on Mac. 2023-02-15 09:52:42 +09:00
make_mkid Add another pgdefine path check, and a cvs-git change. 2011-08-26 21:52:35 -04:00
mark_pgdllimport.pl Update copyright for 2025 2025-01-01 11:21:55 -05:00
msvc_gendef.pl Update copyright for 2025 2025-01-01 11:21:55 -05:00
PerfectHash.pm Update copyright for 2025 2025-01-01 11:21:55 -05:00
pgflex pgflex: propagate environment to flex subprocess 2025-06-30 12:24:48 +02:00
pgtest pgtest: fix spacing 2023-08-14 14:03:29 -04:00
rcgen meson: Add windows resource files 2022-10-05 09:56:05 -07:00
RELEASE_CHANGES Doc: add pre-branch task to run src/tools/copyright.pl. 2025-05-18 23:31:44 -04:00
testint128.c Update copyright for 2025 2025-01-01 11:21:55 -05:00
testwrap Fix recently introduced typos 2025-04-11 22:17:12 +02:00
valgrind.supp Silence valgrind about pg_numa_touch_mem_if_required 2025-07-01 12:32:23 +02:00
version_stamp.pl Stamp HEAD as 19devel. 2025-06-29 22:28:10 -04:00
win32tzlist.pl Update copyright for 2025 2025-01-01 11:21:55 -05:00