Commit Graph

  • 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
  • 661fb1e672 Fix the locked flag for malloc_mutex_trylock(). Qi Wang 2024-09-19 23:48:55 -07:00
  • db4f0e7182 Add travis tests for arm64. Guangli Dai 2024-08-27 14:26:57 -07:00
  • 8c2e15d1a5 Add malloc_open() / malloc_close() reentrancy safe helpers Nathan Slingerland 2024-09-10 13:29:35 -07:00
  • 60f472f367 Fix initialization of pop_attempt_results in bin_batching test Nathan Slingerland 2024-09-12 09:03:30 -07:00
  • 323ed2e3a8 Optimize fast path to allow static size class computation. Qi Wang 2024-09-11 15:08:24 -07:00
  • c1a3ca3755 Adjust the value width in stats output. Qi Wang 2024-05-03 12:04:09 -07:00
  • 3383b98f1b Check if the huge page size is expected when enabling HPA. Qi Wang 2024-03-28 16:04:56 -07:00
  • cd05b19f10 Fix the VM over-reservation on aarch64 w/ larger pages. Qi Wang 2024-03-28 14:43:17 -07:00
  • baa5a90cc6 fix nstime_update_mock in arena_decay unit test Shirui Cheng 2024-08-28 15:17:11 -07:00
  • 7c99686165 Better handle burst allocation on tcache_alloc_small_hard Shirui Cheng 2024-08-22 14:50:08 -07:00
  • 0c88be9e0a Regulate GC frequency by requiring a time interval between two consecutive GCs Shirui Cheng 2024-08-01 14:01:32 -07:00
  • e2c9f3a9ce Take locality into consideration when doing GC flush Shirui Cheng 2024-08-01 13:20:11 -07:00
  • 14d5dc136a Allow a range for the nfill passed to arena_cache_bin_fill_small Shirui Cheng 2024-08-01 10:24:09 -07:00
  • f68effe4ac Add a runtime option opt_experimental_tcache_gc to guard the new design Shirui Cheng 2024-08-12 16:15:46 -07:00
  • 9e123a833c Leverage new Windows API TlsGetValue2 for performance Ben Niu 2023-12-21 20:33:41 -08:00
  • e29ac61987 Limit Cirrus CI to freebsd 15 and 14 Qi Wang 2024-08-28 16:19:16 -07:00
  • bd0a5b0f3b Fix static analysis warnings. Qi Wang 2024-08-28 11:33:07 -07:00
  • 5b72ac098a Remove tests for ppc64 on Travic CI. Guangli Dai 2024-08-23 14:25:47 -07:00
  • 8c54637f8c Better trigger race condition in bin_batching unit test Shirui Cheng 2024-08-22 21:58:58 -07:00
  • c7ccb8d7e9 Add experimental prefix to hpa_strict_min_purge_interval Dmitry Ilvokhin 2024-08-19 10:54:19 -07:00
  • aaa29003ab Limit maximum number of purged slabs with option Dmitry Ilvokhin 2024-08-06 08:47:57 -07:00
  • 143f458188 Fix hpa_strict_min_purge_interval option logic Dmitry Ilvokhin 2024-08-06 08:37:04 -07:00
  • 0a9f51d0d8 Simplify hpa_shard_maybe_do_deferred_work Dmitry Ilvokhin 2024-08-02 09:35:44 -07:00
  • a25b9b8ba9 Simplify the logic when bumping lg_fill_div. Amaury Séchet 2024-07-24 21:16:11 +00:00
  • 8fefabd3a4 increase the ncached_max in fill_flush test case to 1024 Shirui Cheng 2024-07-18 17:49:21 -07:00
  • 47c9bcd402 Use a for-loop to fulfill flush requests that are larger than CACHE_BIN_NFLUSH_BATCH_MAX items Shirui Cheng 2024-07-18 17:33:07 -07:00
  • 48f66cf4a2 add a size check when declare a stack array to be less than 2048 bytes Shirui Cheng 2024-07-18 15:36:08 -07:00
  • 8dc97b1108 Fix NSTIME_MONOTONIC for win32 implementation Burton Li 2024-07-01 15:49:58 -07:00
  • bc32ddff2d Add usize to prof_sample_hook_t Nathan Slingerland 2024-07-29 11:28:41 -07:00
  • b66f689764 Emit long string values without truncation Dmitry Ilvokhin 2024-07-18 07:58:51 -07:00
  • c893fcd169 Change macOS mmap tag to fix conflict with CoreMedia Danny Lin 2024-06-10 15:03:23 -07:00
  • a1fcbebb18 skip tcache GC for tcache_max unit test Shirui Cheng 2024-05-23 12:19:57 -07:00
  • 8477ec9562 Set dependent as false for all rtree reads without ownership Guangli Dai 2024-06-21 15:21:52 -07:00
  • 21bcc0a8d4 Make JEMALLOC_CXX_THROW definition compatible with newer C++ versions Guangli Dai 2024-06-06 11:14:40 -07:00
  • 867c6dd7dc Option to guard hpa_min_purge_interval_ms fix Dmitry Ilvokhin 2024-06-07 05:32:24 -07:00
  • 91a6d230db Respect hpa_min_purge_interval_ms option Dmitry Ilvokhin 2024-05-31 06:35:48 -07:00
  • 90c627edb7 Export hugepage size with arenas.hugepage Dmitry Ilvokhin 2024-05-31 10:28:58 -07:00
  • f9c0b5f7f8 Bin batching: add some stats. David Goldblatt 2024-02-20 14:54:43 -08:00
  • fc615739cb Add batching to arena bins. David Goldblatt 2024-02-09 16:08:45 -08:00
  • 44d91cf243 Tcache flush: Partition by bin before locking. David Goldblatt 2024-02-07 13:18:39 -08:00
  • 6e56848850 Tcache: Split up small/large handling. David Goldblatt 2024-02-07 10:21:53 -08:00
  • c085530c71 Tcache batching: Plumbing David Goldblatt 2024-02-02 13:20:14 -08:00
  • 70c94d7474 Add batcher module. David Goldblatt 2024-01-22 15:34:58 -08:00
  • 86f4851f5d Add clang static analyzer suppression macro. David Goldblatt 2024-05-21 15:52:57 -07:00
  • 5afff2e44e Simplify the logic in tcache_gc_small. Amaury Séchet 2024-05-03 00:31:49 +00:00
  • 8d8379da44 Fix background_thread creation for the oversize_arena. Qi Wang 2024-05-02 12:53:42 -07:00
  • 47d69b4eab HPA: Fix infinite purging loop Dmitry Ilvokhin 2024-04-04 10:02:08 -07:00
  • fa451de17f Fix the tcache flush sanity checking around ncached and nstashed. Qi Wang 2024-04-12 11:08:39 -07:00
  • 630434bb0a Fixed type error with allocated that caused incorrect printing on 32bit debing.sun 2024-01-30 01:38:08 +08:00
  • 4b555c11a5 Enable heap profiling on MacOS Shirui Cheng 2023-12-04 12:07:54 -08:00
  • 11038ff762 Add support for namespace pids in heap profile names Daniel Hodges 2023-12-23 19:40:44 -05:00
  • 83b075789b rallocx path: only set errno on the realloc case. Qi Wang 2024-04-05 11:33:55 -07:00
  • 5081c16bb4 Experimental calloc implementation with using memset on larger sizes Shirui Cheng 2024-04-03 13:27:11 -07:00
  • 38056fea64 Set errno to ENOMEM on rallocx() OOM failures Juhyung Park 2024-03-19 16:46:56 +09:00
  • 268e8ee880 Include HPA ndirty into page allocator ndirty stat Dmitry Ilvokhin 2024-03-25 09:23:03 -07:00
  • b2e59a96e1 Introduce getters for page allocator shard stats Dmitry Ilvokhin 2024-03-25 08:02:49 -07:00
  • 92aa52c062 Reduce nesting in phn_merge_siblings using an early return. Amaury Séchet 2023-10-25 00:36:08 +00:00
  • 10d713151d Ensure that the root of a heap is always the best element. Amaury Séchet 2023-10-25 01:01:22 +00:00
  • 1978e5cdac Update acitons/checkout and actions/upload-artifact to v4 Minsoo Choo 2024-03-09 00:46:31 -05:00
  • ed9b00a96b Replace unsigned induction variable with size_t in background_threads_enable XChy 2024-03-04 14:50:39 +08:00
  • 373884ab48 print out all malloc_conf settings in stats Shirui Cheng 2024-01-30 10:16:28 -08:00
  • 1aba4f41a3 Allow zero sized memalign to pass. Qi Wang 2024-02-13 14:37:21 -08:00
  • 6d181bc1b7 Fix Cirrus CI. Qi Wang 2024-02-15 13:34:05 -08:00
  • f96010b7fa gitignore: Start ignoring clangd dirs. David Goldblatt 2024-01-23 16:21:04 -08:00
  • a2c5267409 HPA: Allow frequent reused alloc to bypass the slab_max_alloc limit, as long as it's within the huge page size. These requests do not concern internal fragmentation with huge pages, since the entire range is expected to be accessed. Qi Wang 2024-01-16 13:07:58 -08:00
  • b1792c80d2 Add LOGs when entrying and exiting free and sdallocx. guangli-dai 2023-12-04 14:34:35 -08:00