Commit Graph

  • 87f9938de5 Fix duplicate "nactive_huge" JSON key in HPA shard stats output Slobodan Predolac 2026-03-27 09:02:32 -07:00
  • 513778bcb1 Fix off-by-one in arenas_bin_i_index and arenas_lextent_i_index bounds checks Slobodan Predolac 2026-03-27 08:42:54 -07:00
  • 176ea0a801 Remove experimental.thread.activity_callback Slobodan Predolac 2026-03-31 18:12:23 -07:00
  • 19bbefe136 Remove dead code: extent_commit_wrapper, large_salloc, tcache_gc_dalloc event waits Slobodan Predolac 2026-03-31 18:25:50 -07:00
  • a87c518bab Fix typo in prof_log_rep_check: use != instead of || for alloc_count Weixie Cui 2026-03-18 11:35:09 +08:00
  • d758349ca4 Fix psset_pick_purge when last candidate with index 0 dirtiness is ineligible Slobodan Predolac 2026-03-25 21:13:34 -07:00
  • 1d018d8fda improve hpdata_assert_consistent() Tony Printezis 2026-03-25 06:59:01 -07:00
  • 86b7219213 Add unit tests for conf parsing and its helpers Carl Shapiro 2026-03-02 13:02:59 -08:00
  • ad726adf75 Separate out the configuration code from initialization Carl Shapiro 2026-03-02 13:02:46 -08:00
  • a056c20d67 Handle tcache init failures gracefully Carl Shapiro 2026-03-02 17:15:35 -08:00
  • a75655badf Add unit test coverage for bin interfaces Carl Shapiro 2026-02-27 12:02:07 -08:00
  • 0ac9380cf1 Move bin inline functions from arena_inlines_b.h to bin_inlines.h Carl Shapiro 2026-02-23 23:31:27 -08:00
  • 1cc563f531 Move bin functions from arena.c to bin.c Carl Shapiro 2026-02-23 23:31:12 -08:00
  • c73ab1c2ff Add a test to check the output in JSON-based stats is consistent with mallctl results. guangli-dai 2026-02-21 11:36:55 -08:00
  • 12b33ed8f1 Fix wrong mutex stats in json-formatted malloc stats guangli-dai 2026-02-18 17:39:57 -08:00
  • 79cc7dcc82 Guard os_page_id against a NULL address Carl Shapiro 2026-02-25 13:00:42 -08:00
  • a10ef3e1f1 configure: add --with-cxx-stdlib option Yuxuan Chen 2026-02-24 18:12:56 -08:00
  • 0fa27fd28f Run single subtest from a test file Tony Printezis 2026-02-19 12:42:52 -08:00
  • 34ace9169b Remove prof_threshold built-in event. It is trivial to implement it as user event if needed Slobodan Predolac 2026-02-12 11:49:28 -08:00
  • 4d0ffa075b Fix background thread initialization race Andrei Pechkurov 2026-01-09 21:55:45 +02:00
  • d4908fe44a Revert "Experimental configuration option for fast path prefetch from cache_bin" Slobodan Predolac 2026-02-05 19:18:19 -08:00
  • c51abba131 Determine the page size on Android from NDK header files Carl Shapiro 2026-01-20 18:56:32 -08:00
  • 5f353dc283 Remove an incorrect use of the address operator Carl Shapiro 2025-12-23 14:18:43 -08:00
  • 365747bc8d Use the BRE construct \{1,\} for one or more consecutive matches Carl Shapiro 2025-12-22 20:36:03 -08:00
  • 6016d86c18 [SEC] Make SEC owned by hpa_shard, simplify the code, add stats, lock per bin Slobodan Predolac 2025-10-30 16:05:04 -07:00
  • c7690e92da Remove Cirrus CI Slobodan Predolac 2025-12-09 13:14:24 -05:00
  • 441e840df7 Add a script to generate github actions instead of Travis CI and Cirrus Slobodan Predolac 2025-12-05 19:45:17 -05:00
  • 0988583d7c Add a mallctl for users to get an approximate of active bytes. Guangli Dai 2025-11-25 16:26:49 -08:00
  • 8a06b086f3 [EASY] Extract hpa_central component from hpa source file Slobodan Predolac 2025-09-30 09:37:09 -07:00
  • 355774270d [EASY] Encapsulate better, do not pass hpa_shard when hooks are enough, move shard independent actions to hpa_utils Slobodan Predolac 2025-09-30 08:36:19 -07:00
  • 47aeff1d08 Add experimental_enforce_hugify Slobodan Predolac 2025-11-19 14:25:58 -08:00
  • 6d4611197e move fill/flush pointer array out of tcache.c Shirui Cheng 2025-10-21 18:53:35 -07:00
  • 3678a57c10 When extracting from central, hugify_eager is different than start_as_huge Slobodan Predolac 2025-10-13 11:37:49 -07:00
  • 2cfa41913e Refactor init_system_thp_mode and print it in malloc stats. guangli-dai 2025-10-07 16:18:07 -07:00
  • 87555dfbb2 Do not release the hpa_shard->mtx when inserting newly retrieved page from central before allocating from it Slobodan Predolac 2025-10-07 16:42:15 -07:00
  • f714cd9249 Inline the value of an always false boolean local variable Carl Shapiro 2025-10-06 15:45:38 -07:00
  • 5e49c28ef0 [EASY] Spelling in the comments Slobodan Predolac 2025-10-06 12:01:13 -07:00
  • 7c40be249c Add npurges and npurge_passes to output of pa_benchmark Slobodan Predolac 2025-09-16 16:50:11 -07:00
  • 707aab0c95 [pa-bench] Add clock to pa benchmark Slobodan Predolac 2025-09-16 13:25:42 -07:00
  • a199278f37 [HPA] Add ability to start page as huge and more flexibility for purging Slobodan Predolac 2025-08-25 13:23:07 -07:00
  • ace437d26a Running clang-format on two files Slobodan Predolac 2025-09-30 07:13:12 -07:00
  • 2688047b56 Revert "Do not dehugify when purging" Slobodan Predolac 2025-09-29 09:41:51 -07:00
  • de886e05d2 Revert "Remove an unused function and global variable" Slobodan Predolac 2025-09-29 09:41:14 -07:00
  • 755735a6bf Remove Travis Windows CI for now since it has infra failures. guangli-dai 2025-09-17 10:18:25 -07:00
  • d70882a05d [sdt] Add some tracepoints to sec and hpa modules Slobodan Predolac 2025-08-07 09:34:30 -07:00
  • 67435187d1 Improve the portability of grep patterns in configure.ac Carl Shapiro 2025-09-12 18:07:12 -07:00
  • 261591f123 Add a page-allocator microbenchmark. guangli-dai 2025-08-24 23:57:26 -07:00
  • 56cdce8592 Adding trace analysis in preparation for page allocator microbenchmark. guangli-dai 2025-08-24 18:56:12 -07:00
  • daf44173c5 Replace an instance of indentation with spaces with tabs Carl Shapiro 2025-09-11 14:46:35 -07:00
  • ce02945070 Add missing thread_event_registry.c to Visual Studio projects Aurélien Brooke 2025-09-04 08:55:47 +02:00
  • c51949ea3e Update config.guess and config.sub to the latest versions lexprfuncall 2025-08-26 13:32:57 -07:00
  • 5a634a8d0a Always use pthread_equal to compare thread IDs Carl Shapiro 2025-08-27 16:48:40 -07:00
  • 5d5f76ee01 Remove pidfd_open call handling and rely on PIDFD_SELF Slobodan Predolac 2025-08-26 15:15:08 -07:00
  • 9442300cc3 Change the default page size to 64KiB on Aarch64 Linux lexprfuncall 2025-08-25 19:39:30 -07:00
  • 2a66c0be5a [EASY][BUGFIX] Spelling and format Slobodan Predolac 2025-08-23 08:53:28 -07:00
  • 38b12427b7 Define malloc_{write,read}_fd as non-inline global functions lexprfuncall 2025-08-06 21:32:16 -07:00
  • 9fdc1160c5 Handle interruptions and retries of read(2) and write(2) lexprfuncall 2025-08-21 20:44:18 -07:00
  • 48b4ad60a7 Remove an orphaned comment lexprfuncall 2025-08-05 20:39:04 -07:00
  • 2114349a4e Revert PR #2608: Manually revert commits 70c94d..f9c0b5 Shirui Cheng 2025-07-15 15:44:14 -07:00
  • ced8b3cffb Fix the compilation check for process madvise lexprfuncall 2025-08-21 11:16:33 -07:00
  • 5e98585b37 Save and restore errno when calling process_madvise Slobodan Predolac 2025-08-13 17:59:36 -07:00
  • e4fa33148a Remove an unused function and global variable lexprfuncall 2025-08-20 16:30:00 -07:00
  • d73de95f72 Experimental configuration option for fast path prefetch from cache_bin Slobodan Predolac 2025-06-04 09:48:14 -07:00
  • 9528a2e2dd Use relaxed atomics to access the process madvise pid fd lexprfuncall 2025-08-04 13:13:27 -07:00
  • a156e997d7 Do not dehugify when purging lexprfuncall 2025-08-04 14:43:03 -07:00
  • 395e63bf7e Fix several spelling errors in comments lexprfuncall 2025-08-04 11:25:10 -07:00
  • 4246475b44 [process_madvise] Make init lazy so that python tests pass. Reset the pidfd on fork Slobodan Predolac 2025-07-25 10:14:28 -07:00
  • f87bbab22c Add several USDT probes for hpa Slobodan Predolac 2025-06-10 11:44:23 -07:00
  • 711fff750c Add experimental support for usdt systemtap probes Slobodan Predolac 2025-06-09 21:29:55 -07:00
  • 5847516692 Ignore the clang-format changes in the git blame. guangli-dai 2025-06-20 14:41:13 -07:00
  • 6200e8987f Reformat the codebase with the clang-format 18. guangli-dai 2025-06-13 12:31:12 -07:00
  • a952a3b8b0 Update the default value for opt_experimental_tcache_gc and opt_calloc_madvise_threshold Shirui Cheng 2025-06-04 13:28:37 -07:00
  • e350c71571 Remove --enable-limit-usize-gap for cirrus CI since the config-time option is removed. Guangli Dai 2025-06-13 15:46:51 -07:00
  • 95fc091b0f Update appveyor settings. guangli-dai 2025-06-13 14:15:50 -07:00
  • c5547f9e64 test/unit/psset.c: fix SIGSEGV when PAGESIZE is large dzhao.ampere 2025-06-11 15:15:25 +08:00
  • 015b017973 [thread_event] Add support for user events in thread events when stats are enabled Slobodan Predolac 2025-03-28 07:35:53 -07:00
  • e6864c6075 [thread_event] Remove macros from thread_event and replace with dynamic event objects Slobodan Predolac 2025-03-14 06:34:05 -07:00
  • 1972241cd2 Remove unused options in the batched madvise unit tests. Qi Wang 2025-06-02 11:24:55 -07:00
  • 27d7960cf9 Revert "Extend purging algorithm with peak demand tracking" Jason Evans 2025-05-19 21:09:01 -07:00
  • edaab8b3ad Turn clang-format off for codes with multi-line commands in macros guangli-dai 2025-05-22 22:59:00 -07:00
  • 4531411abe Modify .clang-format to have declarations aligned guangli-dai 2025-05-20 11:58:26 -07:00
  • 1818170c8d Fix binshard.sh by specifying bin_shards for all sizes. guangli-dai 2025-05-07 17:39:20 -07:00
  • fd60645260 Add one more check to double free validation. guangli-dai 2025-05-07 16:37:26 -07:00
  • 5e460bfea2 Refactor: use the cache_bin_sz_t typedef instead of direct uint16_t Xin Yang 2025-05-13 11:25:13 +08:00
  • 9169e9272a Fix: Adjust CACHE_BIN_NFLUSH_BATCH_MAX size to prevent assert failures Xin Yang 2025-05-13 11:01:36 +08:00
  • f19a569216 Ignore formatting commit in blame. guangli-dai 2025-05-19 15:15:49 -07:00
  • b6338c4ff6 EASY - be explicit in non-vectorized hpa tests Slobodan Predolac 2025-05-19 15:17:35 -07:00
  • 554185356b Sample format on tcache_max test guangli-dai 2025-04-18 11:45:57 -07:00
  • 3cee771cfa Modify .clang-format to make it more aligned with current freebsd style guangli-dai 2025-04-17 15:29:34 -07:00
  • 3c14707b01 To improve reuse efficiency, the maximum coalesced size for large extents in the dirty ecache has been limited. This patch was tested with real workloads using ClickHouse (Clickbench Q35) on a system with 2x240 vCPUs. The results showed a 2X in query per second (QPS) performance and a reduction in page faults to 29% of the previous rate. Additionally, microbenchmark testing involved 256 memory reallocations resizing from 4KB to 16KB in one arena, which demonstrated a 5X performance improvement. Jiebin Sun 2025-04-25 02:04:05 -07:00
  • 37bf846cc3 Fixes to prevent static analysis warnings. guangli-dai 2025-05-02 15:58:27 -07:00
  • 8347f1045a Renaming limit_usize_gap to disable_large_size_classes guangli-dai 2025-04-16 11:57:55 -07:00
  • 01e9ecbeb2 Remove build-time configuration 'config_limit_usize_gap' Guangli Dai 2025-04-15 23:50:43 -07:00
  • 852da1be15 Add experimental option force using SYS_process_madvise Slobodan Predolac 2025-04-25 18:26:49 -07:00
  • 1956a54a43 [process_madvise] Use process_madvise across multiple huge_pages Slobodan Predolac 2025-04-05 12:14:14 -07:00
  • 0dfb4a5a1a Add output argument to hpa_purge_begin to count dirty ranges Slobodan Predolac 2025-04-08 10:49:05 -07:00
  • cfa90dfd80 Refactor hpa purging to prepare for vectorized call across multiple pages Slobodan Predolac 2025-04-08 09:51:53 -07:00
  • a3910b9802 Avoid forced purging during thread-arena migration when bg thd is on. Qi Wang 2025-04-24 20:21:53 -07:00
  • c23a6bfdf6 Add opt.limit_usize_gap to stats guangli-dai 2025-04-10 15:12:52 -07:00
  • c20a63a765 Silence the uninitialized warning from clang. guangli-dai 2025-04-10 15:07:20 -07:00