Kevin Svetlitski
41e0b857be
Make headers self-contained by fixing #include
s
...
Header files are now self-contained, which makes the relationships
between the files clearer, and crucially allows LSP tools like `clangd`
to function correctly in all of our header files. I have verified that
the headers are self-contained (aside from the various Windows shims) by
compiling them as if they were C files – in a follow-up commit I plan to
add this to CI to ensure we don't regress on this front.
2023-07-14 09:06:32 -07:00
Guangli Dai
ba19d2cb78
Add arena-level name.
...
An arena-level name can help identify manual arenas.
2022-09-16 15:04:59 -07:00
Qi Wang
83f3294027
Small refactors around 7bb05e0
.
2021-09-27 16:05:13 -07:00
David Goldblatt
c259323ab3
Use ticker_geom_t for arena tcache decay.
2021-02-04 14:10:43 -08:00
David Goldblatt
3967329813
Arena: share bin offsets in a global.
...
This saves us a cache miss when lookup up the arena bin offset in a remote
arena during tcache flush. All arenas share the base offset, and so we don't
need to look it up repeatedly for each arena. Secondarily, it shaves 288 bytes
off the arena on, e.g., x86-64.
2021-02-04 14:10:43 -08:00
David Goldblatt
4c46e11365
Cache an arena's index in the arena.
...
This saves us a pointer hop down some perf-sensitive paths.
2021-02-04 14:10:43 -08:00
David Goldblatt
392f645f4d
Edata: split up different list linkage uses.
2020-07-08 13:20:59 -07:00
Yinan Zhang
d454af90f1
Remove unused prof_accum field from arena
2020-05-11 12:24:56 -07:00
David Goldblatt
a13fbad374
Tcache: split up fast and slow path data.
2020-04-14 15:20:19 -07:00
David Goldblatt
527dd4cdb8
PA: Move in nactive counter.
2020-04-10 13:12:47 -07:00
David Goldblatt
7b62885476
Introduce decay module and put decay objects in PA
2020-04-10 13:12:47 -07:00
David Goldblatt
ce8c0d6c09
PA: Move in arena extent_sn counter.
...
Just another step towards making PA self-contained.
2020-04-10 13:12:47 -07:00
David Goldblatt
1ad368c8b7
PA: Move in decay stats.
2020-04-10 13:12:47 -07:00
David Goldblatt
acd0bf6a26
PA: move in ecache_grow.
2020-04-10 13:12:47 -07:00
David Goldblatt
688fb3eb89
PA: Move in the arena edata_cache.
2020-04-10 13:12:47 -07:00
David Goldblatt
a24faed569
PA: Move in the ecache_t objects.
2020-04-10 13:12:47 -07:00
David Goldblatt
f7d9c6c42d
Emap: Move in alloc_ctx lookup functionality.
2020-02-17 10:50:51 -08:00
Qi Wang
d71a145ec1
Chagne prof_accum_t to counter_accum_t for general purpose.
2020-01-29 09:57:55 -08:00
David Goldblatt
bb70df8e5b
Extent refactor: Introduce ecache module.
...
This will eventually completely wrap the eset, and handle concurrency,
allocation, and deallocation. For now, we only pull out the mutex from the
eset.
2019-12-20 10:18:40 -08:00
David Goldblatt
7859184179
Pull out edata_t caching into its own module.
2019-12-20 10:18:40 -08:00
David Goldblatt
a7862df616
Rename extent_t to edata_t.
...
This frees us up from the unfortunate extent/extent2 naming collision.
2019-12-20 10:18:40 -08:00
Qi Wang
19a51abf33
Avoid arena->offset_state when tsd not available for prng.
...
Use stack locals and remove the offset_state in arena.
2019-11-11 10:35:37 -08:00
David T. Goldblatt
821dd53a1d
Extent -> Eset: Rename arena members.
2019-09-23 23:06:27 -07:00
David T. Goldblatt
a42861540e
Extents -> Eset: Convert some stats getters.
2019-09-23 23:06:27 -07:00
David T. Goldblatt
4e5e43f22e
Rename extents_t -> eset_t.
2019-09-23 23:06:27 -07:00
David T. Goldblatt
529cfe2abc
Arena: rename arena_structs_b.h -> arena_structs.h
...
arena_structs_a.h was removed in the previous commit.
2019-09-23 23:06:27 -07:00