summaryrefslogtreecommitdiffstats
path: root/src/bin.c
Commit message (Collapse)AuthorAgeFilesLines
* Add opt.bin_shards to specify number of bin shards.Qi Wang2018-12-041-10/+38
| | | | | The option uses the same format as "slab_sizes" to specify number of shards for each bin size.
* Add support for sharded bins within an arena.Qi Wang2018-12-041-0/+6
| | | | | | | | | This makes it possible to have multiple set of bins in an arena, which improves arena scalability because the bins (especially the small ones) are always the limiting factor in production workload. A bin shard is picked on allocation; each extent tracks the bin shard id for deallocation. The shard size will be determined using runtime options.
* Hide size class computation behind a layer of indirection.David Goldblatt2018-07-131-14/+25
| | | | | | | | | This class removes almost all the dependencies on size_classes.h, accessing the data there only via the new module sc.h, which does not depend on any configuration options. In a subsequent commit, we'll remove the configure-time size class computations, doing them at boot time, instead.
* Split up and standardize naming of stats code.David T. Goldblatt2017-12-191-1/+1
| | | | | | The arena-associated stats are now all prefixed with arena_stats_, and live in their own file. Likewise, malloc_bin_stats_t -> bin_stats_t, also in its own file.
* Move bin forking code from arena to bin module.David T. Goldblatt2017-12-191-1/+16
|
* Move bin initialization from arena module to bin module.David T. Goldblatt2017-12-191-1/+15
|
* Pull out arena_bin_info_t and arena_bin_t into their own file.David T. Goldblatt2017-12-191-0/+21
In the process, kill arena_bin_index, which is unused. To follow are several diffs continuing this separation.