Commit graph

3632 commits

Author SHA1 Message Date
Slobodan Predolac
d930391cf3 Remove Cirrus CI 2026-03-05 12:47:46 -08:00
Slobodan Predolac
d48968f1e7 Add a script to generate github actions instead of Travis CI and Cirrus 2026-03-05 12:47:46 -08:00
Guangli Dai
86366b5e36 Add a mallctl for users to get an approximate of active bytes. 2026-03-05 12:47:46 -08:00
Slobodan Predolac
61c1d2df42 [EASY] Extract hpa_central component from hpa source file 2026-03-05 12:47:46 -08:00
Slobodan Predolac
f6fc71f79c [EASY] Encapsulate better, do not pass hpa_shard when hooks are enough, move shard independent actions to hpa_utils 2026-03-05 12:47:46 -08:00
Slobodan Predolac
7befc6f636 Add experimental_enforce_hugify 2026-03-05 12:47:46 -08:00
Shirui Cheng
c4367d7794 move fill/flush pointer array out of tcache.c 2026-03-05 12:47:46 -08:00
Slobodan Predolac
c9046de297 When extracting from central, hugify_eager is different than start_as_huge 2026-03-05 12:47:46 -08:00
guangli-dai
97e8f2aafd Refactor init_system_thp_mode and print it in malloc stats. 2026-03-05 12:47:46 -08:00
Slobodan Predolac
ca4f2ecaa8 Do not release the hpa_shard->mtx when inserting newly retrieved page from central before allocating from it 2026-03-05 12:47:46 -08:00
Carl Shapiro
7198cc2695 Inline the value of an always false boolean local variable
Next to its use, which is always as an argument, we include the name
of the parameter in a constant.  This completes a partially
implemented cleanup suggested in an earlier commit.
2026-03-05 12:47:46 -08:00
Slobodan Predolac
a4c470ff72 [EASY] Spelling in the comments 2026-03-05 12:47:46 -08:00
Slobodan Predolac
2b5e629fc9 Add npurges and npurge_passes to output of pa_benchmark 2026-03-05 12:47:46 -08:00
Slobodan Predolac
17b1964350 [pa-bench] Add clock to pa benchmark 2026-03-05 12:47:46 -08:00
Slobodan Predolac
37a4c4122c [HPA] Add ability to start page as huge and more flexibility for purging 2026-03-05 12:47:46 -08:00
Slobodan Predolac
4f55aaaca1 Running clang-format on two files 2026-03-05 12:47:46 -08:00
Slobodan Predolac
a295844ed6 Revert "Do not dehugify when purging"
This reverts commit 16c5abd1cd.
2026-03-05 12:47:46 -08:00
Slobodan Predolac
ce7db7e847 Revert "Remove an unused function and global variable"
This reverts commit acd85e5359.
2026-03-05 12:47:46 -08:00
guangli-dai
eb8fb61a86 Remove Travis Windows CI for now since it has infra failures. 2026-03-05 12:47:46 -08:00
Slobodan Predolac
d5c0420404 [sdt] Add some tracepoints to sec and hpa modules 2026-03-05 12:47:46 -08:00
Carl Shapiro
c8cce48aef Improve the portability of grep patterns in configure.ac. Closes #2777.
The configure.ac script uses backslash plus in its grep patterns to
match one or more occurrences.  This is a GNU grep extension to the
Basic Regular Expressions syntax that fails on systems with a more
traditional grep.  This changes fixes grep patterns that use backslash
plus to use a star instead.
2026-03-05 12:47:23 -08:00
guangli-dai
65ac0e2799 Add a page-allocator microbenchmark. 2026-03-05 12:47:23 -08:00
guangli-dai
301b69ea27 Adding trace analysis in preparation for page allocator microbenchmark. 2026-03-05 12:47:23 -08:00
Carl Shapiro
2ffb17fd3e Replace an instance of indentation with spaces with tabs 2026-03-05 12:47:23 -08:00
Aurélien Brooke
97cb029f9b Add missing thread_event_registry.c to Visual Studio projects
This file was added by b2a35a905f.
2026-03-05 12:47:23 -08:00
lexprfuncall
57e971c108 Update config.guess and config.sub to the latest versions. Closes #2735 and closes #2814.
These files need to be refreshed periodically to support new platform
types.

The following command was used to retrieve the updates

curl -L -O https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
curl -L -O https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
2026-03-05 12:46:12 -08:00
Carl Shapiro
2cc7f4506e Always use pthread_equal to compare thread IDs
This change replaces direct comparisons of Pthread thread IDs with
calls to pthread_equal.  Directly comparing thread IDs is neither
portable nor reliable since a thread ID is defined as an opaque type
that can be implemented using a structure.
2026-03-05 12:46:12 -08:00
Slobodan Predolac
bf38507ec8 Remove pidfd_open call handling and rely on PIDFD_SELF 2026-03-05 12:46:12 -08:00
lexprfuncall
e70a50f9e4 Change the default page size to 64KiB on Aarch64 Linux. Closes #2639.
This updates the configuration script to set the default page size to
64KiB on Aarch64 Linux.  This is motivated by compatibility as a build
configured for a 64KiB page will work on kernels that use the smaller
4KiB or 16KiB pages, whereas the reverse is not true.

To make the configured page size setting more visible, the script now
displays the page size when printing the configuration results.

Users that want to override the page size in to choose a smaller value
can still do so with the --with-lg-pagesize configuration option.
2026-03-05 12:45:37 -08:00
Slobodan Predolac
8a86a12a83 [EASY][BUGFIX] Spelling and format 2026-03-05 12:45:36 -08:00
lexprfuncall
e6d2c31ed3 Define malloc_{write,read}_fd as non-inline global functions
The static inline definition made more sense when these functions just
dispatched to a syscall wrapper.  Since they acquired a retry loop, a
non-inline definition makes more sense.
2026-03-05 12:45:36 -08:00
lexprfuncall
8a231568f9 Handle interruptions and retries of read(2) and write(2) 2026-03-05 12:45:36 -08:00
lexprfuncall
e74d9fb73d Remove an orphaned comment
This was left behind when definitions of malloc_open and malloc_close
were abstracted from code that had followed.
2026-03-05 12:45:36 -08:00
Shirui Cheng
1472042a5f Revert PR #2608: Manually revert commits 70c94d..f9c0b5 2026-03-05 12:45:36 -08:00
lexprfuncall
17ac1eee7d Fix the compilation check for process madvise
An include of unistd.h is needed to make the declaration of the
syscall function visible to the compiler.  The include of sys/mman.h
is not used at all.
2026-03-05 12:45:36 -08:00
Slobodan Predolac
7c1cecc0d2 Save and restore errno when calling process_madvise 2026-03-05 12:45:36 -08:00
lexprfuncall
868a3b3fd6 Remove an unused function and global variable
When the dehugify functionality was retired in an previous commit, a
dehugify-related function and global variable in a test was
accidentally left in-place causing builds that add -Werror to CFLAGS
to fail.
2026-03-05 12:45:36 -08:00
Slobodan Predolac
ccd4c15a3c Experimental configuration option for fast path prefetch from cache_bin 2026-03-05 12:45:36 -08:00
lexprfuncall
4c9ec34dc8 Use relaxed atomics to access the process madvise pid fd
Relaxed atomics already provide sequentially consistent access to single
location data structures.
2026-03-05 12:45:36 -08:00
lexprfuncall
9bd26fc9f5 Do not dehugify when purging
Giving the advice MADV_DONTNEED to a range of virtual memory backed by
a transparent huge page already causes that range of virtual memory to
become backed by regular pages.
2026-03-05 12:45:36 -08:00
lexprfuncall
965b3a1130 Fix several spelling errors in comments 2026-03-05 12:45:36 -08:00
Slobodan Predolac
dc2c0276e8 [process_madvise] Make init lazy so that python tests pass. Reset the pidfd on fork 2026-03-05 12:45:36 -08:00
Slobodan Predolac
07a3742f72 Add several USDT probes for hpa 2026-03-05 12:45:36 -08:00
Slobodan Predolac
3832502bed Add experimental support for usdt systemtap probes 2026-03-05 12:45:36 -08:00
guangli-dai
d85d651995 Ignore the clang-format changes in the git blame. 2026-03-05 12:45:36 -08:00
guangli-dai
6206ffb9a8 Reformat the codebase with the clang-format 18. 2026-03-05 12:45:36 -08:00
Shirui Cheng
030921c64d Update the default value for opt_experimental_tcache_gc and opt_calloc_madvise_threshold 2026-03-05 12:45:36 -08:00
Guangli Dai
85e8400820 Remove --enable-limit-usize-gap for cirrus CI since the config-time option is removed. 2026-03-05 12:45:36 -08:00
guangli-dai
da143c460b Update appveyor settings. 2026-03-05 12:45:36 -08:00
dzhao.ampere
6fa3372872 test/unit/psset.c: fix SIGSEGV when PAGESIZE is large. Closes #2408
When hugepage is enabled and PAGESIZE is large, the test could
ask for a stack size larger than user limit. Allocating the
memory instead can avoid the failure.
2026-03-05 12:44:00 -08:00