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
David Goldblatt
dcb7b83fac
Eset: Cache summary information for heap edatas.
...
This lets us do a single array scan to find first fits, instead of taking a
cache miss per examined size class.
2021-08-02 15:02:49 -07:00
David Goldblatt
252e0942d0
Eset: Pull per-pszind data into structs.
...
We currently have one for stats and one for the data. The data struct is just a
wrapper around the edata_heap_t, but this will change shortly.
2021-08-02 15:02:49 -07:00
David Goldblatt
aea91b8c33
Clean up some minor data structure inconsistencies
...
Namely, unify the include guard styling with the majority of the project, and do
flat_bitmap -> fb, to match its naming convention.
2021-05-12 11:14:23 -07:00
David Goldblatt
154aa5fcc1
Use the flat bitmap for eset and psset bitmaps.
...
This is simpler (note that the eset field comment was actually incorrect!), and
slightly faster.
2021-02-19 15:10:54 -08:00
David Goldblatt
392f645f4d
Edata: split up different list linkage uses.
2020-07-08 13:20:59 -07:00
David Goldblatt
f730577277
Eset: Parameterize last globals accesses.
...
I.e. opt_retain and maps_coalesce.
2020-04-10 13:12:47 -07:00
David Goldblatt
7bb6e2dc0d
Eset: take opt_lg_max_active_fit as a parameter.
...
This breaks its dependence on the global.
2020-04-10 13:12:47 -07:00
David Goldblatt
d8b0b66c6c
Put extent_state_t into ecache as well as eset.
2019-12-20 10:18:40 -08:00
David Goldblatt
98eb40e563
Move delay_coalesce from the eset to the ecache.
2019-12-20 10:18:40 -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
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
David Goldblatt
865debda22
Rename extent.h -> edata.h.
...
This name is slightly pithier; a full-on rename will come shortly.
2019-12-20 10:18:40 -08:00
David T. Goldblatt
c97d255752
Eset: Remove temporary declaration.
2019-09-23 23:06:27 -07:00
David T. Goldblatt
e144b21e4b
Extent -> Eset: Move fork handling.
2019-09-23 23:06:27 -07:00
David T. Goldblatt
77bbb35a92
Extent -> Eset: Move extent fit functions.
2019-09-23 23:06:27 -07:00
David T. Goldblatt
1210af9a4e
Extent -> Eset: Move insertion and removal.
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
63d1b7a7a7
Extents -> Eset: move extents_state_get.
2019-09-23 23:06:27 -07:00
David T. Goldblatt
b416b96a39
Extents -> Eset: rename/move extents_init.
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