Gareth Rees
365e431f21
Catch-up merge from master sources @186481 to branch/2014-04-15/mvffnoseg.
...
Copied from Perforce
Change: 186484
ServerID: perforce.ravenbrook.com
2014-06-11 12:42:58 +01:00
Gareth Rees
3c486bd581
Fix problems identified by rb in review < https://info.ravenbrook.com/mail/2014/06/04/15-13-24/0/ >.
...
Copied from Perforce
Change: 186449
ServerID: perforce.ravenbrook.com
2014-06-08 20:28:33 +01:00
Gareth Rees
331d260bfd
Catch-up merge from master sources @186436 to branch/2014-04-08/align.
...
Copied from Perforce
Change: 186439
ServerID: perforce.ravenbrook.com
2014-06-08 16:30:53 +01:00
Gareth Rees
88626830d8
Alignment is now configurable for mv pools using mps_key_align.
...
MVFF and MVT support alignments down to FreelistMinimumAlignment.
For MVFF and MVT, alignments that are too small are rounded up automatically, to make it easier to write portable programs.
Copied from Perforce
Change: 185369
ServerID: perforce.ravenbrook.com
2014-04-08 21:32:19 +01:00
Gareth Rees
a3055d56c0
New module failover implements a fail-over allocator as a land class.
...
Use Failover in MVT and MVFF.
Test Failover in landtest.
Implementation of LandFindInZones for Freelist (untested).
Remove signature from RangeStruct so we can embed it without a space cost.
Copied from Perforce
Change: 185196
ServerID: perforce.ravenbrook.com
2014-04-03 12:52:23 +01:00
Gareth Rees
6ef8e57b1f
Turn freelist into a land class.
...
Copied from Perforce
Change: 185155
ServerID: perforce.ravenbrook.com
2014-04-02 14:01:18 +01:00
Gareth Rees
042f9c5f14
First pass at implementation of lands (collections of address ranges). 100% boilerplate!
...
Copied from Perforce
Change: 185131
ServerID: perforce.ravenbrook.com
2014-04-01 19:51:55 +01:00
Gareth Rees
fe60d16407
Represent a block on the free list as a freelistblock rather than an addr (for better type safety). add many checks.
...
Copied from Perforce
Change: 182584
ServerID: perforce.ravenbrook.com
2013-06-06 15:47:37 +01:00
Gareth Rees
757a6417fb
Missing extern.
...
Copied from Perforce
Change: 182496
ServerID: perforce.ravenbrook.com
2013-06-04 15:40:45 +01:00
Gareth Rees
6efd6ba489
Freelistfindlargest() takes a size argument so that the interface matches cbsfindlargest().
...
New function FreelistFlushToCBS() tries to move all blocks out of a free list and into a CBS.
Copied from Perforce
Change: 182432
ServerID: perforce.ravenbrook.com
2013-06-03 16:17:28 +01:00
Gareth Rees
abdabf9c7b
Missing prototypes for freelistfindfirst and freelistfindlast.
...
Copied from Perforce
Change: 182411
ServerID: perforce.ravenbrook.com
2013-06-03 11:08:58 +01:00
Gareth Rees
9b3153f8b6
Use a tag in the bottom bit to distinguish grains and blocks in the free list. this results in much simplification of the code.
...
Copied from Perforce
Change: 182362
ServerID: perforce.ravenbrook.com
2013-05-31 13:41:36 +01:00
Gareth Rees
ca7975ac29
New "freelist" module implementes a simple address-ordered linked list allocator (based on the "emergency list" allocator that was formerly part of the cbs module).
...
Copied from Perforce
Change: 182348
ServerID: perforce.ravenbrook.com
2013-05-31 00:12:49 +01:00