Commit Graph

  • 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
  • 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
  • 257e64b968 Unlike prof_sample which is supported only with profiling mode active, prof_threshold is intended to be an always-supported allocation callback with much less overhead. The usage of the threshold allows performance critical callers to change program execution based on the callback: e.g. drop caches when memory becomes high or to predict the program is about to OOM ahead of time using peak memory watermarks. Shai Duvdevani 2025-01-29 15:25:10 -08:00
  • ef8e512e29 Fix bitmap_ffu out of range read Dmitry Ilvokhin 2025-01-24 07:48:58 -08:00
  • 607b866035 Check for 0 input when setting max_background_thread through mallctl. Qi Wang 2025-01-21 15:15:56 -08:00
  • 20cc983314 Fix the gettid() detection caught by @mrluanma . Qi Wang 2025-01-21 15:06:02 -08:00
  • 52fa9577ba Fix integer overflow in test/unit/hash.c Dmitry Ilvokhin 2025-01-14 10:46:39 -08:00
  • 17881ebbfd Add configure check for gettid() presence Dan Horák 2024-11-08 15:34:06 +00:00
  • 4b88bddbca Conditionally remove unreachable for C23+ appujee 2024-11-06 13:14:10 -08:00
  • d8486b2653 Remove unreachable() macro as c23 already defines it. appujee 2024-10-25 14:00:32 -07:00
  • 587676fee8 Disable psset test when hugepage size is too large. Guangli Dai 2024-12-11 15:24:26 -08:00
  • a17385a882 Enable large hugepage tests for arm64 on Travis Guangli Dai 2024-12-13 15:06:06 -08:00
  • 6786934280 Fix ehooks assertion for arena creation Guangli Dai 2024-12-09 14:24:19 -08:00
  • 46690c9ec0 Fix test_retained on boxes with a lot of CPUs Dmitry Ilvokhin 2024-11-28 07:10:33 -08:00
  • 6092c980a6 Expose psset state stats Dmitry Ilvokhin 2024-11-14 10:52:50 -08:00
  • 3820e38dc1 Remove validation for HPA ratios Dmitry Ilvokhin 2024-11-15 08:53:20 -08:00
  • 0ce13c6fb5 Add opt hpa_hugify_sync to hugify synchronously Dmitry Ilvokhin 2024-10-31 11:43:11 -07:00
  • a361e886e2 Move je_cv_thp logic closer to definition Dmitry Ilvokhin 2024-11-07 10:16:46 -08:00
  • b82333fdec Split stats_arena_hpa_shard_print function Dmitry Ilvokhin 2024-10-25 10:27:25 -07:00
  • b9758afff0 Add nstime_ms_since to get time since in ms Dmitry Ilvokhin 2024-10-25 09:47:43 -07:00
  • 2a693b83d2 Fix the sized-dealloc safety check abort msg. Qi Wang 2024-10-14 10:28:50 -07:00
  • 6d625d5e5e Add support for clock_gettime_nsec_np() Qi Wang 2024-10-04 15:25:54 -07:00
  • 397827a27d Updated jeprof with more symbols to filter. Guangli Dai 2024-08-16 16:36:57 -07:00
  • 02251c0070 Update the configure cache file example in INSTALL.md Qi Wang 2024-10-04 11:29:04 -07:00
  • 8c2b8bcf24 Update doc to reflect muzzy decay is disabled by default. Qi Wang 2024-10-04 11:18:43 -07:00
  • edc1576f03 Add safe frame-pointer backtrace unwinder Nathan Slingerland 2024-09-16 11:00:37 -07:00
  • 3a0d9cdadb Use MSVC __declspec(thread) for TSD on Windows Ben Niu 2024-08-30 17:32:42 -07:00
  • 1c900088c3 Do not support hpa if HUGEPAGE is too large. Guangli Dai 2024-09-26 15:40:52 -07:00
  • 4f4fd42447 Remove strict_min_purge_interval option Dmitry Ilvokhin 2024-08-29 10:49:31 -07:00
  • 6cc42173cb Assert the mutex is locked within malloc_mutex_assert_owner(). Qi Wang 2024-09-20 20:33:10 -07:00
  • 44db479fad Fix the lock owner sanity checking during background thread boot. Qi Wang 2024-09-20 20:24:30 -07:00
  • 0181aaa495 Optimize edata_cmp_summary_compare when __uint128_t is available Guangli Dai 2024-09-13 15:52:22 -07:00
  • 734f29ce56 Fix compilation with MSVC 2022 roblabla 2024-09-23 15:33:43 +02:00
  • de5606d0d8 Fix a missing init value warning caught by static analysis. Qi Wang 2024-09-20 15:39:46 -07:00
  • 1960536b61 Add malloc_mutex_is_locked() sanity checks. Qi Wang 2024-09-19 23:28:23 -07:00
  • 3eb7a4b53d Fix mutex state tracking around pthread_cond_wait(). Qi Wang 2024-09-20 15:07:27 -07:00