Commit Graph

  • 01f255161c Add emap, for tracking extent locking. David Goldblatt 2020-01-27 13:55:46 -08:00
  • 0f686e82a3 Avoid variable length array with length 0. Qi Wang 2020-02-13 20:04:22 -08:00
  • 68e8ddcaff Add mallctl for dumping last-N profiling records Yinan Zhang 2020-02-04 16:05:11 -08:00
  • bc05ecebf6 Add const qualifier in assert_cmp() Yinan Zhang 2020-02-05 15:33:31 -08:00
  • ba0e35411c Rework the bin locking around tcache refill / flush. Qi Wang 2020-02-07 14:53:36 -08:00
  • 7fd22f7b2e Fix Undefined Behavior in hash.h Kamil Rytarowski 2020-02-13 14:49:32 +01:00
  • ca1f082251 Disallow merge across mmap regions to preserve SN / first-fit. Qi Wang 2019-12-30 17:14:44 -08:00
  • 7014f81e17 Add ASSURED_WRITE in mallctl Yinan Zhang 2020-02-04 16:36:02 -08:00
  • 2476889195 Add inspect.c to MSVC filters Yinan Zhang 2020-02-04 15:00:37 -08:00
  • 9cac3fa8f5 Encapsulate buffer allocation in buffered writer Yinan Zhang 2020-02-03 15:56:13 -08:00
  • bdc08b5158 Better naming buffered writer Yinan Zhang 2020-01-23 15:00:01 -08:00
  • c6bfe55857 Update the tsd description. Qi Wang 2020-02-03 23:59:31 -08:00
  • e896522616 Abbreviate thread-event to te. Qi Wang 2020-01-30 16:31:45 -08:00
  • 5e500523a0 Remove thread_event_boot(). Qi Wang 2020-01-29 20:29:05 -08:00
  • 97dd79db6c Implement deallocation events. Qi Wang 2020-01-28 21:12:06 -08:00
  • 536ea6858e NetBSD specific changes: - NetBSD overcommits - When mapping pages, use the maximum of the alignment requested and the compiled-in PAGE constant which might be greater than the current kernel pagesize, since we compile binaries with the maximum page size supported by the architecture (so that they work with all kernels). zoulasc 2020-02-03 15:35:08 -05:00
  • 974222c626 Add safety check on sdallocx slow / sampled path. Qi Wang 2020-01-30 14:35:54 -08:00
  • 88d9eca848 Enforce page alignment for sampled allocations. Qi Wang 2020-01-28 17:32:45 -08:00
  • 0f552ed673 Don't purge huge extents when decay is off. Qi Wang 2020-01-13 16:18:32 -08:00
  • 38a48e5741 Set reentrancy to 1 for tsd_state_purgatory. Qi Wang 2020-01-16 13:00:35 -08:00
  • 88b0e03a4e Implement opt.stats_interval and the _opts options. Qi Wang 2020-01-13 22:29:17 -08:00
  • d71a145ec1 Chagne prof_accum_t to counter_accum_t for general purpose. Qi Wang 2020-01-23 13:18:04 -08:00
  • ea351a7b52 Fix syntax errors in doc for thread.idle. Qi Wang 2020-01-23 16:05:37 -08:00
  • d92f0175c7 Introduce NEITHER_READ_NOR_WRITE in ctl. David Goldblatt 2020-01-22 14:59:28 -08:00
  • 6a622867ca Add "thread.idle" mallctl. David Goldblatt 2020-01-22 11:13:26 -08:00
  • f81341a48b Fallback to unbuffered printing if OOM Yinan Zhang 2020-01-13 14:23:10 -08:00
  • cd6e908241 Add stress test for last-N profiling mode Yinan Zhang 2020-01-14 16:01:45 -08:00
  • 84b28c6a13 Properly handle tdata deletion race Yinan Zhang 2020-01-16 20:38:46 -08:00
  • d331208560 Get rid of redundant logic in prof Yinan Zhang 2020-01-16 20:43:45 -08:00
  • a72ea0db60 Restructure and correct sleep utility for testing Yinan Zhang 2020-01-15 07:25:59 -08:00
  • 7b67ed0b5a Get rid of lock overlap in prof_recent_alloc_reset Yinan Zhang 2020-01-14 16:10:23 -08:00
  • bd3be8e0b1 Remove commit parameter to ecache functions. David Goldblatt 2020-01-16 13:28:27 -08:00
  • b8df719d5c No tdata creation for backtracing on dying thread Yinan Zhang 2020-01-14 11:23:32 -08:00
  • dab81bd315 Rework and fix the assertions on malloc fastpath. Qi Wang 2020-01-13 23:28:09 -08:00
  • ad3f3fc561 Fetch time after tctx and only for samples Yinan Zhang 2020-01-14 11:12:18 -08:00
  • a5d3dd4059 Fix an assertion on extent head state with dss. Qi Wang 2020-01-02 11:19:14 -08:00
  • 2b604a3016 Record request size in prof recent entries Yinan Zhang 2020-01-09 10:20:34 -08:00
  • 40a391408c Define constructor for buffered writer argument Yinan Zhang 2020-01-09 16:50:09 -08:00
  • 6d8e616902 Make buffered writer an independent module Yinan Zhang 2020-01-09 16:36:09 -08:00
  • 6b6b4709b3 Unify buffered writer naming Yinan Zhang 2020-01-09 09:59:17 -08:00
  • 9a60cf54ec Last-N profiling mode Yinan Zhang 2019-12-18 13:38:14 -08:00
  • 7a27a05940 Delete tdata states used for cleanup Yinan Zhang 2019-12-26 15:28:04 -08:00
  • e98ddf7987 Fix unlikely condition in arena_prof_info_get() Yinan Zhang 2019-12-24 11:30:23 -08:00
  • 3fa142cf39 Remove _externs from prof internal header names Yinan Zhang 2019-12-22 20:02:28 -08:00
  • 112dc36dd5 Handle log_mtx during forking Yinan Zhang 2019-12-20 10:38:05 -08:00
  • ea42174d07 Refactor profiling headers Yinan Zhang 2019-12-18 15:15:31 -08:00
  • 6342da0970 Ehooks: Further optimize default merge case. David Goldblatt 2019-12-19 17:53:52 -08:00
  • f2f2084e79 Ehooks: Assert alloc isn't NULL David Goldblatt 2019-12-19 17:15:57 -08:00
  • e210ccc57e Move extent2 -> extent. David Goldblatt 2019-12-16 11:05:07 -08:00
  • 2f4fa80414 Rename extents -> ecache. David Goldblatt 2019-12-16 11:01:34 -08:00
  • 56cc56b692 Break extent split dependence on arena. David Goldblatt 2019-12-13 13:52:34 -08:00
  • 0aa9769fb0 Break commit functions' arena dependence David Goldblatt 2019-12-13 13:46:25 -08:00
  • 48ec5d4355 Break extent_coalesce arena dependence David Goldblatt 2019-12-13 13:37:00 -08:00
  • 282a382326 Extent: Break [de]activation's arena dependence. David Goldblatt 2019-12-13 13:34:35 -08:00
  • 576d7047ab Ecache: Should know its arena_ind. David Goldblatt 2019-12-13 11:33:03 -08:00
  • 372042a082 Remove merge dependence on the arena. David Goldblatt 2019-12-13 11:16:58 -08:00
  • 439219be7e Remove extent_can_coalesce arena dependency. David Goldblatt 2019-12-13 10:52:51 -08:00
  • 9cad5639ff Ehooks: remove arena_ind parameter. David Goldblatt 2019-12-13 10:44:03 -08:00
  • 57fe99d4be Move relevant index into the ehooks_t itself. David Goldblatt 2019-12-13 10:09:57 -08:00
  • c792f3e4ab edata_cache: Remember the associated base_t. David Goldblatt 2019-12-12 18:28:37 -08:00
  • ae23e5f426 Unify extent_alloc_wrapper with the other wrappers. David Goldblatt 2019-12-12 17:30:28 -08:00
  • d8b0b66c6c Put extent_state_t into ecache as well as eset. David Goldblatt 2019-12-12 16:44:49 -08:00
  • 98eb40e563 Move delay_coalesce from the eset to the ecache. David Goldblatt 2019-12-12 16:33:19 -08:00
  • bb70df8e5b Extent refactor: Introduce ecache module. David Goldblatt 2019-12-12 16:25:24 -08:00
  • 0704516245 Ehooks: Add head tracking. David Goldblatt 2019-12-11 17:23:24 -08:00
  • 09475bf8ac extent_may_dalloc -> ehooks_dalloc_will_fail David Goldblatt 2019-12-11 13:35:43 -08:00
  • 7859184179 Pull out edata_t caching into its own module. David Goldblatt 2019-12-11 11:17:19 -08:00
  • a7862df616 Rename extent_t to edata_t. David Goldblatt 2019-12-09 14:36:45 -08:00
  • 865debda22 Rename extent.h -> edata.h. David Goldblatt 2019-12-09 10:41:25 -08:00
  • a738a66b5c Ehooks: Add some debug zero and addr checks. David Goldblatt 2019-12-05 17:09:44 -08:00
  • 4b2e5ee8b9 Ehooks: Add a "zero" ehook. David Goldblatt 2019-12-04 17:55:24 -08:00
  • d0f187ad3b Arena: Loosen arena_may_have_muzzy restrictions. David Goldblatt 2019-12-04 14:42:10 -08:00
  • ebbb973271 Base: Remove some unnecessary reentrancy guards. David Goldblatt 2019-12-04 14:05:14 -08:00
  • 403f2d1664 Extents: Split out introspection functionality. David Goldblatt 2019-12-04 09:44:59 -08:00
  • 92a511d385 Make extent module hermetic. David Goldblatt 2019-12-03 18:31:47 -08:00
  • e08c581cf1 Extent: Get rid of extent-specific pre/post reentrancy calls. David Goldblatt 2019-12-03 17:43:53 -08:00
  • 39fdc690a0 Ehooks comments and cleanup. David Goldblatt 2019-12-03 17:03:31 -08:00
  • c8dae890c8 Extent -> Ehooks: Move over default hooks. David Goldblatt 2019-12-03 14:23:40 -08:00
  • 2fe5108263 Extent -> Ehooks: Move merge hook. David Goldblatt 2019-12-03 14:03:38 -08:00
  • 1fff4d2ee3 Extent -> Ehooks: Move split hook. David Goldblatt 2019-12-03 13:48:18 -08:00
  • a5b42a1a10 Extent -> Ehooks: Move purge_forced hook. David Goldblatt 2019-12-03 13:11:54 -08:00
  • 368baa42ef Extent -> Ehooks: Move purge_lazy hook. David Goldblatt 2019-12-03 12:59:46 -08:00
  • f83fdf5336 Extent: Clean up a comma David Goldblatt 2019-12-03 12:26:45 -08:00
  • d78fe241ac Extent -> Ehooks: Move commit and decommit hooks. David Goldblatt 2019-12-03 12:25:00 -08:00
  • 5459ec9dae Extent -> Ehooks: Move destroy hook. David Goldblatt 2019-12-03 12:05:18 -08:00
  • bac8e2e5a6 Extent -> Ehooks: Move dalloc hook. David Goldblatt 2019-12-03 10:47:28 -08:00
  • dc8b4e6e13 Extent -> Ehooks: Move alloc hook. David Goldblatt 2019-12-02 16:42:44 -08:00
  • 703fbc0ff5 Introduce unsafe reentrancy guards. David Goldblatt 2019-12-02 16:45:40 -08:00
  • ae0d8e8591 Move extent ehook calls into ehooks David Goldblatt 2019-12-02 14:19:22 -08:00
  • ba8b9ecbcb Add ehooks module David Goldblatt 2019-12-02 10:44:09 -08:00
  • 837119a948 base_structs.h: Remove some mid-line tabs. David Goldblatt 2019-11-18 14:43:48 -08:00
  • 9f6eb09585 Extents: Eagerly initialize extent hooks. David Goldblatt 2019-11-18 14:03:22 -08:00
  • 4278f84603 Move extent hook getters/setters to arena.c David Goldblatt 2019-11-18 12:59:34 -08:00
  • 9226e1f0d8 fix opt.thp:never still use THP with base_new Wenbo Zhang 2019-12-15 07:26:45 -05:00
  • d5031ea824 Allow dallocx and sdallocx after tsd destruction. Qi Wang 2019-12-17 11:57:08 -08:00
  • 4afd709d1f Restructure setters for profiling info Yinan Zhang 2019-12-13 16:48:03 -08:00
  • 1d01e4c770 Initialization utilities for nstime Yinan Zhang 2019-12-16 12:41:06 -08:00
  • dd649c9485 Optimize away the tsd_fast() check on fastpath. Qi Wang 2019-11-11 16:34:48 -08:00
  • 1decf958d1 Fix incorrect usage of cassert. Qi Wang 2019-11-21 14:10:03 -08:00
  • 45836d7fd3 Pass nstime_t pointer for profiling Yinan Zhang 2019-12-10 17:07:41 -08:00