Commit Graph

  • 0d7a26e9b6 Remove an incorrect use of the address operator dev yuqei-mirror Carl Shapiro 2025-12-23 14:18:43 -08:00
  • 7f043becad Use the BRE construct \{1,\} for one or more consecutive matches Carl Shapiro 2025-12-22 20:36:03 -08:00
  • afce889cc9 [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
  • f9c90d5c20 Remove Cirrus CI Slobodan Predolac 2025-12-09 13:14:24 -05:00
  • 8779a94fad Add a script to generate github actions instead of Travis CI and Cirrus Slobodan Predolac 2025-12-05 19:45:17 -05:00
  • 9aaad0544f Add a mallctl for users to get an approximate of active bytes. Guangli Dai 2025-11-25 16:26:49 -08:00
  • 3f1aa90426 [EASY] Extract hpa_central component from hpa source file Slobodan Predolac 2025-09-30 09:37:09 -07:00
  • 8384b00ebe [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
  • bfb63eaf41 Add experimental_enforce_hugify Slobodan Predolac 2025-11-19 14:25:58 -08:00
  • f5f0f063c1 move fill/flush pointer array out of tcache.c Shirui Cheng 2025-10-21 18:53:35 -07:00
  • 6ced85a8e5 When extracting from central, hugify_eager is different than start_as_huge Slobodan Predolac 2025-10-13 11:37:49 -07:00
  • 0f8a8d7ebe Refactor init_system_thp_mode and print it in malloc stats. guangli-dai 2025-10-07 16:18:07 -07:00
  • 832a332c33 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
  • bfc20f2804 Inline the value of an always false boolean local variable Carl Shapiro 2025-10-06 15:45:38 -07:00
  • 0669f70b67 [EASY] Spelling in the comments Slobodan Predolac 2025-10-06 12:01:13 -07:00
  • 9000d6160f Add npurges and npurge_passes to output of pa_benchmark Slobodan Predolac 2025-09-16 16:50:11 -07:00
  • a9596253a5 [pa-bench] Add clock to pa benchmark Slobodan Predolac 2025-09-16 13:25:42 -07:00
  • f8ef3195e5 [HPA] Add ability to start page as huge and more flexibility for purging Slobodan Predolac 2025-08-25 13:23:07 -07:00
  • db943a0d9e Running clang-format on two files Slobodan Predolac 2025-09-30 07:13:12 -07:00
  • 2bbcb10d10 Revert "Do not dehugify when purging" Slobodan Predolac 2025-09-29 09:41:51 -07:00
  • b76a7306a8 Revert "Remove an unused function and global variable" Slobodan Predolac 2025-09-29 09:41:14 -07:00
  • f29cfa8251 Remove Travis Windows CI for now since it has infra failures. guangli-dai 2025-09-17 10:18:25 -07:00
  • b7bedaf7a0 [sdt] Add some tracepoints to sec and hpa modules Slobodan Predolac 2025-08-07 09:34:30 -07:00
  • d74be2ea7c Improve the portability of grep patterns in configure.ac Carl Shapiro 2025-09-12 18:07:12 -07:00
  • 5d18e0b340 Add a page-allocator microbenchmark. guangli-dai 2025-08-24 23:57:26 -07:00
  • 983773b118 Adding trace analysis in preparation for page allocator microbenchmark. guangli-dai 2025-08-24 18:56:12 -07:00
  • c0889acb6c Replace an instance of indentation with spaces with tabs Carl Shapiro 2025-09-11 14:46:35 -07:00
  • 28fb5fabe7 Add missing thread_event_registry.c to Visual Studio projects Aurélien Brooke 2025-09-04 08:55:47 +02:00
  • cdc3b65300 Update config.guess and config.sub to the latest versions lexprfuncall 2025-08-26 13:32:57 -07:00
  • 218c989047 Always use pthread_equal to compare thread IDs Carl Shapiro 2025-08-27 16:48:40 -07:00
  • d4cde60066 Remove pidfd_open call handling and rely on PIDFD_SELF Slobodan Predolac 2025-08-26 15:15:08 -07:00
  • 7dcdafea00 Change the default page size to 64KiB on Aarch64 Linux lexprfuncall 2025-08-25 19:39:30 -07:00
  • 88b29da00a [EASY][BUGFIX] Spelling and format Slobodan Predolac 2025-08-23 08:53:28 -07:00
  • f890bbed4a Define malloc_{write,read}_fd as non-inline global functions lexprfuncall 2025-08-06 21:32:16 -07:00
  • 6ced4b5afb Handle interruptions and retries of read(2) and write(2) lexprfuncall 2025-08-21 20:44:18 -07:00
  • 5f06b14d1c Remove an orphaned comment lexprfuncall 2025-08-05 20:39:04 -07:00
  • e2da7477f8 Revert PR #2608: Manually revert commits 70c94d..f9c0b5 Shirui Cheng 2025-07-15 15:44:14 -07:00
  • 9186700eb3 Fix the compilation check for process madvise lexprfuncall 2025-08-21 11:16:33 -07:00
  • 4f126b47b3 Save and restore errno when calling process_madvise Slobodan Predolac 2025-08-13 17:59:36 -07:00
  • acd85e5359 Remove an unused function and global variable lexprfuncall 2025-08-20 16:30:00 -07:00
  • f9fae9f1f8 Experimental configuration option for fast path prefetch from cache_bin Slobodan Predolac 2025-06-04 09:48:14 -07:00
  • c45b6223e5 Use relaxed atomics to access the process madvise pid fd lexprfuncall 2025-08-04 13:13:27 -07:00
  • 16c5abd1cd Do not dehugify when purging lexprfuncall 2025-08-04 14:43:03 -07:00
  • 0d071a086b Fix several spelling errors in comments lexprfuncall 2025-08-04 11:25:10 -07:00
  • 97d25919c3 [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
  • fb52eac372 Add several USDT probes for hpa Slobodan Predolac 2025-06-10 11:44:23 -07:00
  • 9dd7b075b6 Add experimental support for usdt systemtap probes Slobodan Predolac 2025-06-09 21:29:55 -07:00
  • 1c826c924a Ignore the clang-format changes in the git blame. guangli-dai 2025-06-20 14:41:13 -07:00
  • 34f359e0ca Reformat the codebase with the clang-format 18. guangli-dai 2025-06-13 12:31:12 -07:00
  • ae4e729d15 Update the default value for opt_experimental_tcache_gc and opt_calloc_madvise_threshold Shirui Cheng 2025-06-04 13:28:37 -07:00
  • 95f9f934ca 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
  • f9e9e0986a Update appveyor settings. guangli-dai 2025-06-13 14:15:50 -07:00
  • d58e311320 test/unit/psset.c: fix SIGSEGV when PAGESIZE is large dzhao.ampere 2025-06-11 15:15:25 +08:00
  • 390e70c840 [thread_event] Add support for user events in thread events when stats are enabled Slobodan Predolac 2025-03-28 07:35:53 -07:00
  • b2a35a905f [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
  • f81fb92a89 Remove Travis CI macOS configs (not supported anymore). Qi Wang 2025-04-14 14:15:14 -07:00
  • f19f49ef3e if process_madvise is supported, call it when purging hpa Slobodan Predolac 2025-03-12 12:26:52 -07:00
  • 80e9001af3 Move `extern "C" specifications for C++ to where they are needed Kaspar M. Rohrer 2025-03-29 23:51:20 +01:00
  • 3688dfb5c3 fix assertion error in huge_arena_auto_thp_switch() when b0 is deleted in unit test Shirui Cheng 2025-03-19 17:26:33 -07:00
  • a4defdb854 detect false failure of strerror_r Jay Lee 2025-02-07 14:12:38 +08:00
  • e1a77ec558 Support THP with Huge Arena in PAC Shirui Cheng 2025-03-05 13:00:57 -08:00
  • 86bbabac32 background_thread: add fallback for pthread_create dlsym Audrey Dutcher 2025-03-06 22:24:27 -07:00
  • 81f35e0b55 Modify Travis tests to use frameptr when profiling Guangli Dai 2025-03-07 11:08:03 -08:00
  • 773b5809f9 Fix frame pointer based unwinder to handle changing stack range Guangli Dai 2025-03-05 17:58:20 -08:00
  • ad108d50f1 Extend purging algorithm with peak demand tracking Dmitry Ilvokhin 2025-01-21 07:20:15 -08:00
  • 22440a0207 Implement process_madvise support. Qi Wang 2025-02-04 18:31:11 -08:00
  • 70f019cd3a Enable limit-usize-gap in CI tests. Guangli Dai 2024-05-14 14:27:17 -07:00
  • 6035d4a8d3 Cache extra extents in the dirty pool from ecache_alloc_grow Guangli Dai 2025-01-27 23:09:51 -08:00
  • c067a55c79 Introducing a new usize calculation policy guangli-dai 2024-03-26 14:35:29 -07:00
  • ac279d7e71 Fix profiling sample metadata lookup during xallocx Guangli Dai 2025-03-03 10:17:03 -08:00
  • f55e0c3f5c Remove unsupported Cirrus CI config Qi Wang 2025-03-03 13:52:06 -08:00
  • 499f306859 Fix arena 0 deferral_allowed flag init Dmitry Ilvokhin 2025-02-05 04:32:31 -08:00
  • 421b17a622 Remove age_counter from hpa_central Dmitry Ilvokhin 2025-02-05 11:00:15 -08:00
  • c17bf8b368 Disable config from file or envvar with build flag roblabla 2024-07-30 14:56:42 +02:00
  • 34c823f147 Add autoconf options to enable sanitizers Dmitry Ilvokhin 2025-01-10 10:51:21 -08:00
  • 3bc89cfeca Avoid implicit conversion in test/unit/prof_threshold Qi Wang 2025-01-30 10:45:11 -08:00
  • 1abeae9ebd Fix test/unit/prof_threshold when !config_stats Qi Wang 2025-01-29 21:33:30 -08:00