Slobodan Predolac
6016d86c18
[SEC] Make SEC owned by hpa_shard, simplify the code, add stats, lock per bin
2026-03-10 18:14:33 -07:00
Slobodan Predolac
c7690e92da
Remove Cirrus CI
2026-03-10 18:14:33 -07:00
Slobodan Predolac
441e840df7
Add a script to generate github actions instead of Travis CI and Cirrus
2026-03-10 18:14:33 -07:00
Guangli Dai
0988583d7c
Add a mallctl for users to get an approximate of active bytes.
2026-03-10 18:14:33 -07:00
Slobodan Predolac
8a06b086f3
[EASY] Extract hpa_central component from hpa source file
2026-03-10 18:14:33 -07:00
Slobodan Predolac
355774270d
[EASY] Encapsulate better, do not pass hpa_shard when hooks are enough, move shard independent actions to hpa_utils
2026-03-10 18:14:33 -07:00
Slobodan Predolac
47aeff1d08
Add experimental_enforce_hugify
2026-03-10 18:14:33 -07:00
Shirui Cheng
6d4611197e
move fill/flush pointer array out of tcache.c
2026-03-10 18:14:33 -07:00
Slobodan Predolac
3678a57c10
When extracting from central, hugify_eager is different than start_as_huge
2026-03-10 18:14:33 -07:00
guangli-dai
2cfa41913e
Refactor init_system_thp_mode and print it in malloc stats.
2026-03-10 18:14:33 -07:00
Slobodan Predolac
87555dfbb2
Do not release the hpa_shard->mtx when inserting newly retrieved page from central before allocating from it
2026-03-10 18:14:33 -07:00
Carl Shapiro
f714cd9249
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-10 18:14:33 -07:00
Slobodan Predolac
5e49c28ef0
[EASY] Spelling in the comments
2026-03-10 18:14:33 -07:00
Slobodan Predolac
7c40be249c
Add npurges and npurge_passes to output of pa_benchmark
2026-03-10 18:14:33 -07:00
Slobodan Predolac
707aab0c95
[pa-bench] Add clock to pa benchmark
2026-03-10 18:14:33 -07:00
Slobodan Predolac
a199278f37
[HPA] Add ability to start page as huge and more flexibility for purging
2026-03-10 18:14:33 -07:00
Slobodan Predolac
ace437d26a
Running clang-format on two files
2026-03-10 18:14:33 -07:00
Slobodan Predolac
2688047b56
Revert "Do not dehugify when purging"
...
This reverts commit 16c5abd1cd .
2026-03-10 18:14:33 -07:00
Slobodan Predolac
de886e05d2
Revert "Remove an unused function and global variable"
...
This reverts commit acd85e5359 .
2026-03-10 18:14:33 -07:00
guangli-dai
755735a6bf
Remove Travis Windows CI for now since it has infra failures.
2026-03-10 18:14:33 -07:00
Slobodan Predolac
d70882a05d
[sdt] Add some tracepoints to sec and hpa modules
2026-03-10 18:14:33 -07:00
Carl Shapiro
67435187d1
Improve the portability of grep patterns in configure.ac
...
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.
Closes : #2777
2026-03-10 18:14:33 -07:00
guangli-dai
261591f123
Add a page-allocator microbenchmark.
2026-03-10 18:14:33 -07:00
guangli-dai
56cdce8592
Adding trace analysis in preparation for page allocator microbenchmark.
2026-03-10 18:14:33 -07:00
Carl Shapiro
daf44173c5
Replace an instance of indentation with spaces with tabs
2026-03-10 18:14:33 -07:00
Aurélien Brooke
ce02945070
Add missing thread_event_registry.c to Visual Studio projects
...
This file was added by b2a35a905f .
2026-03-10 18:14:33 -07:00
lexprfuncall
c51949ea3e
Update config.guess and config.sub to the latest versions
...
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
Closes : #2814
2026-03-10 18:14:33 -07:00
Carl Shapiro
5a634a8d0a
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-10 18:14:33 -07:00
Slobodan Predolac
5d5f76ee01
Remove pidfd_open call handling and rely on PIDFD_SELF
2026-03-10 18:14:33 -07:00
lexprfuncall
9442300cc3
Change the default page size to 64KiB on Aarch64 Linux
...
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-10 18:14:33 -07:00
Slobodan Predolac
2a66c0be5a
[EASY][BUGFIX] Spelling and format
2026-03-10 18:14:33 -07:00
lexprfuncall
38b12427b7
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-10 18:14:33 -07:00
lexprfuncall
9fdc1160c5
Handle interruptions and retries of read(2) and write(2)
2026-03-10 18:14:33 -07:00
lexprfuncall
48b4ad60a7
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-10 18:14:33 -07:00
Shirui Cheng
2114349a4e
Revert PR #2608 : Manually revert commits 70c94d..f9c0b5
...
Closes : #2707
2026-03-10 18:14:33 -07:00
lexprfuncall
ced8b3cffb
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-10 18:14:33 -07:00
Slobodan Predolac
5e98585b37
Save and restore errno when calling process_madvise
2026-03-10 18:14:33 -07:00
lexprfuncall
e4fa33148a
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-10 18:14:33 -07:00
Slobodan Predolac
d73de95f72
Experimental configuration option for fast path prefetch from cache_bin
2026-03-10 18:14:33 -07:00
lexprfuncall
9528a2e2dd
Use relaxed atomics to access the process madvise pid fd
...
Relaxed atomics already provide sequentially consistent access to single
location data structures.
2026-03-10 18:14:33 -07:00
lexprfuncall
a156e997d7
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-10 18:14:33 -07:00
lexprfuncall
395e63bf7e
Fix several spelling errors in comments
2026-03-10 18:14:33 -07:00
Slobodan Predolac
4246475b44
[process_madvise] Make init lazy so that python tests pass. Reset the pidfd on fork
2026-03-10 18:14:33 -07:00
Slobodan Predolac
f87bbab22c
Add several USDT probes for hpa
2026-03-10 18:14:33 -07:00
Slobodan Predolac
711fff750c
Add experimental support for usdt systemtap probes
2026-03-10 18:14:33 -07:00
guangli-dai
5847516692
Ignore the clang-format changes in the git blame.
2026-03-10 18:14:33 -07:00
guangli-dai
6200e8987f
Reformat the codebase with the clang-format 18.
2026-03-10 18:14:33 -07:00
Shirui Cheng
a952a3b8b0
Update the default value for opt_experimental_tcache_gc and opt_calloc_madvise_threshold
2026-03-10 18:14:33 -07:00
Guangli Dai
e350c71571
Remove --enable-limit-usize-gap for cirrus CI since the config-time option is removed.
2026-03-10 18:14:33 -07:00
guangli-dai
95fc091b0f
Update appveyor settings.
2026-03-10 18:14:33 -07:00