Commit Graph

  • 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
  • 05160258df When safety_check_fail, also embed hint msg in the abort function name because there are cases only logging crash stack traces. Qi Wang 2024-01-03 11:59:02 -08:00
  • 3a6296e1ef Disable FreeBSD on Travis CI since it's not working. Qi Wang 2024-01-04 14:16:00 -08:00
  • d284aad027 Test on more FreeBSD versions Minsoo Choo 2023-11-25 09:01:29 -05:00
  • dfb3260b97 Fix missing cleanup message for collected profiles. Connor 2023-12-11 18:25:49 +08:00
  • f6fe6abdcb build: Make autogen.sh accept quoted extra options Honggyu Kim 2023-12-29 10:16:39 +09:00
  • eda05b3994 Fix static analysis warnings. guangli-dai 2023-12-13 15:21:09 -08:00
  • e4817c8d89 Cleanup cache_bin_info_t* info input args Shirui Cheng 2023-10-24 13:51:14 -07:00
  • 3025b021b9 Optimize mutex and bin alignment / locality. Qi Wang 2023-10-23 13:00:10 -07:00
  • e2cd27132a Change stack_size assertion back to the more compatabile one. guangli-dai 2023-10-22 22:23:13 -07:00
  • 756d4df2fd Add util.c into vs project file. guangli-dai 2023-10-18 16:44:36 -07:00
  • 04d1a87b78 Fix a zero-initializer warning on macOS. Qi Wang 2023-10-18 12:13:35 -07:00
  • d88fa71bbd Fix nfill = 0 bug when ncached_max is 1 guangli-dai 2023-10-18 10:40:32 -07:00
  • 6fb3b6a8e4 Refactor the tcache initiailization guangli-dai 2023-10-17 20:17:42 -07:00
  • 8a22d10b83 Allow setting default ncached_max for each bin through malloc_conf guangli-dai 2023-10-11 00:30:52 -07:00
  • 867eedfc58 Fix the bug in dalloc promoted allocations. guangli-dai 2023-10-16 15:31:13 -07:00
  • 630f7de952 Add mallctl to set and get ncached_max of each cache_bin. guangli-dai 2023-09-19 14:37:09 -07:00
  • 6b197fdd46 Pre-generate ncached_max for all bins for better tcache_max tuning experience. guangli-dai 2023-08-22 16:31:54 -07:00
  • 36becb1302 metadata usage breakdowns: tracking edata and rtree usages Shirui Cheng 2023-10-10 09:46:23 -07:00
  • 005f20aa7f Fix comments about malloc_conf to enable logging. Qi Wang 2023-09-27 09:55:12 -07:00
  • 7a9e4c9073 Mark jemalloc.h as system header to resolve header conflicts. guangli-dai 2023-10-02 22:48:22 -07:00
  • 72cfdce718 Allocate tcache stack from base allocator Qi Wang 2023-09-13 21:51:54 -07:00
  • a442d9b895 Enable per-tcache tcache_max guangli-dai 2023-08-06 11:38:30 -07:00
  • fbca96c433 Remove unnecessary parameters for cache_bin_postincrement. guangli-dai 2023-08-20 23:28:38 -07:00
  • 7d9eceaf38 Fix array bounds false warning in gcc 12.3.0 Evers Chen 2023-08-20 08:11:35 +00:00
  • ce8ce99a4a Expose jemalloc_prefix via pkg-config BtbN 2023-08-20 16:38:09 +02:00
  • ed7e6fe71a Expose private library dependencies via pkg-config BtbN 2023-08-20 16:21:56 +02:00
  • 7d563a8f81 Update safety check message to remove --enable-debug when it's already on. Qi Wang 2023-08-30 10:15:30 -07:00
  • b71da25b8a Fix reading CPU id using rdtscp. Qi Wang 2023-08-28 10:21:11 -07:00
  • 87c56c8df8 Fix arenas.i.bins.j.mutex link id in manual. Qi Wang 2023-08-25 11:34:24 -07:00
  • da66aa391f Enable a few additional warnings for CI and fix the issues they uncovered Kevin Svetlitski 2023-08-10 16:31:35 -07:00
  • d2c9ed3d1e Ensure short read(2)s/write(2)s are properly handled by IO utilities Kevin Svetlitski 2023-08-10 10:43:42 -07:00
  • 254c4847e8 Print colorful reminder for failed tests. guangli-dai 2023-08-05 13:40:23 -07:00
  • 4f50f782fa Use compiler-provided assume builtins when available Kevin Svetlitski 2023-07-27 11:49:07 -07:00
  • 3aae792b10 Fix infinite purging loop in HPA Kevin Svetlitski 2023-07-17 15:22:26 -07:00