summaryrefslogtreecommitdiff
path: root/globals.c
Commit message (Collapse)AuthorAgeFilesLines
* clean up global stats code a little.dormando2016-06-271-0/+1
| | | | | | | | | | tons of stats were left in the global stats structure that're no longer used, and it looks like we kept accidentally adding new ones in there. There's also an unused mutex. Split global stats into `stats` and `stats_state`. initialize via memset, reset only `stats` via memset, removing several places where stats values get repeated. Looks much cleaner and should be less error prone.
* slab reassignmentdormando2011-12-191-0/+2
| | | | | | | | | | | | | | | | | | | | | Adds a "slabs reassign src dst" manual command, and a thread to safely process slab moves in the background. - slab freelist is now a linked list, reusing the item structure - is -o slab_reassign is enabled, an extra background thread is started - thread attempts to safely free up items when it's been told to move a page from one slab to another. -o slab_automove is stubbed. There are some limitations. Most notable is that you cannot repeatedly move pages around without first having items use up the memory. Slabs with newly assigned memory work off of a pointer, handing out chunks individually. We would need to change that to quickly split chunks for all newly assigned pages into that slabs freelist. Further testing is required to ensure such is possible without impacting performance.
* start of the incr fix, rearranges a bunch, adds util, tests, etcBrad Fitzpatrick2009-03-191-0/+23