Gareth Rees
902c10954b
Merge branch/2013-05-17/emergency into the master sources.
...
This change refactors MVTBufferFill and makes related improvements to improve the clarity of the code.
Copied from Perforce
Change: 183935
ServerID: perforce.ravenbrook.com
2014-01-10 18:52:08 +00:00
Gareth Rees
1049386b6f
Make improvements (mostly to comments) based on reviews:
...
https://info.ravenbrook.com/mail/2014/01/10/15-57-50/0/
https://info.ravenbrook.com/mail/2014/01/10/15-40-47/0/
Copied from Perforce
Change: 183932
ServerID: perforce.ravenbrook.com
2014-01-10 18:18:06 +00:00
Gareth Rees
d943faa62b
Don't call mvtsegfree from mvtfinish: we don't know whether or not there was any fragmented (unavailable) space in this segment, and so we can't keep the accounting correct. add assertion in mvtsegfree that detects incorrect accounting.
...
Copied from Perforce
Change: 183610
ServerID: perforce.ravenbrook.com
2013-10-30 13:15:09 +00:00
Richard Brooksby
17cf0ad76d
Rewriting mvtbufferfill to separate out its various attempts to allocate memory and clarify their relationships. mvtbufferfill itself now clearly spells out the methods it applies and its fallbacks. this reveals quite a few questions which i have noted with fixmes and todos.
...
Copied from Perforce
Change: 182642
ServerID: perforce.ravenbrook.com
2013-06-08 18:38:03 +01:00
Gareth Rees
ccbf5341e8
Mvtfinish must make the structure invalid first.
...
Add comment explaining choice of GCSegClass.
Copied from Perforce
Change: 182608
ServerID: perforce.ravenbrook.com
2013-06-07 15:39:07 +01:00
Gareth Rees
ddf49ff7e9
Mvt takes configurable alignment via a keyword argument.
...
Copied from Perforce
Change: 182605
ServerID: perforce.ravenbrook.com
2013-06-07 14:45:14 +01:00
Gareth Rees
4232dc3125
Tidying up in anticipation of review.
...
Copied from Perforce
Change: 182524
ServerID: perforce.ravenbrook.com
2013-06-04 23:49:48 +01:00
Gareth Rees
86abc26355
Avoid "variable may be used uninitialized" warning from visual c.
...
Copied from Perforce
Change: 182517
ServerID: perforce.ravenbrook.com
2013-06-04 20:41:19 +01:00
Gareth Rees
fbf674c3ed
Mvt now fails over from a cbs to a freelist.
...
Update test cases and design accordingly.
Copied from Perforce
Change: 182509
ServerID: perforce.ravenbrook.com
2013-06-04 18:16:32 +01:00
Gareth Rees
67ab8d1385
New test case "fotest" for fail-over of cbs to freelist in mvff. (plus stub for mvt.) need some testing hooks in mvff and mvt for getting the cbs.
...
This reveals a couple of bugs in MVFF: (i) if CBSDelete fails, this might be because the block is actually on the Freelist instead; (ii) we can't SegFree before calling FreelistDelete because the Freelist needs access to the memory in order to read its pointers.
Copied from Perforce
Change: 182500
ServerID: perforce.ravenbrook.com
2013-06-04 16:51:24 +01:00
Gareth Rees
71a2c572a0
Use range objects in the cbs interface instead of base, limit pairs. the idea is that freelist and cbs should offer similar interfaces so that the testing code can be shared.
...
Copied from Perforce
Change: 182364
ServerID: perforce.ravenbrook.com
2013-05-31 16:29:26 +01:00
Gareth Rees
e7559cf22f
Rename the enumeration cbsfinddelete to finddelete in anticipation of it being shared between cbs and new freelist module.
...
Since ABQDisposition enumeration only has two values, it's better to use Bool.
Copied from Perforce
Change: 182347
ServerID: perforce.ravenbrook.com
2013-05-31 00:09:33 +01:00
Gareth Rees
ae5a06f21b
Fix review comments from < https://info.ravenbrook.com/mail/2013/05/28/22-21-11/0/ >:
...
* Rename RangeOverlap to RangesOverlap.
* MVFF shouldn't assume that CBSInsert and CBSDelete can't fail.
* Remove unused function mps_mvff_stat.
* Don't call range methods in RangeCheck.
* RangeInit can't fail, so return void.
Copied from Perforce
Change: 182297
ServerID: perforce.ravenbrook.com
2013-05-29 12:19:19 +01:00
Gareth Rees
46ca22c648
Fix review comments from rb in < https://info.ravenbrook.com/mail/2013/05/23/18-17-17/0/ >
...
Copied from Perforce
Change: 182149
ServerID: perforce.ravenbrook.com
2013-05-24 00:48:19 +01:00
Gareth Rees
3ab93fc8a6
The abq module manages objects internal to the mps (not client objects) so it should use the type void * in its interface, not addr.
...
Copied from Perforce
Change: 182051
ServerID: perforce.ravenbrook.com
2013-05-21 18:39:51 +01:00
Gareth Rees
0ff7dacbb8
Catch-up merge from master sources to branch/2013-05-17/emergency.
...
Copied from Perforce
Change: 182048
ServerID: perforce.ravenbrook.com
2013-05-21 18:31:50 +01:00
Gareth Rees
eab1715183
In mv2test, use the random number generator from testlib. (this reduces duplication and makes test cases repeatable.)
...
Copied from Perforce
Change: 182046
ServerID: perforce.ravenbrook.com
2013-05-21 17:56:36 +01:00
Gareth Rees
6401faf722
Improve description of mvtdeleteoverlapping.
...
Copied from Perforce
Change: 182038
ServerID: perforce.ravenbrook.com
2013-05-21 15:51:51 +01:00
Gareth Rees
ebfa878f52
Refactor mvt so that blocks are pushed onto the abq in just one place.
...
Fix bug in MVTDelete: need to remove the whole of the old range from the ABQ, not just the range we're deleting.
Copied from Perforce
Change: 182032
ServerID: perforce.ravenbrook.com
2013-05-21 13:35:41 +01:00
Gareth Rees
9416fd6cf2
A little bit more checking.
...
Copied from Perforce
Change: 182026
ServerID: perforce.ravenbrook.com
2013-05-21 00:29:56 +01:00
Gareth Rees
28fc475b2a
Use the new cbs, abq and range interfaces to avoid re-entrancy problems in callbacks.
...
Copied from Perforce
Change: 182017
ServerID: perforce.ravenbrook.com
2013-05-20 20:47:41 +01:00
Richard Brooksby
a7d9cfdbfe
Fixing bogus comparison in assertion found by gcc warnings on linux.
...
Copied from Perforce
Change: 181998
ServerID: perforce.ravenbrook.com
2013-05-20 16:30:59 +01:00
Gareth Rees
e0e34a1c98
Remove "emergency" free list allocator from the cbs module (it belongs in its own module) and update clients and the design accordingly.
...
Copied from Perforce
Change: 181927
ServerID: perforce.ravenbrook.com
2013-05-19 14:27:24 +01:00
Richard Brooksby
4a37063561
The fragmentation limit argument to the mvt pool class is now passed as a floating point fraction, not a percentage, in the keyword interface.
...
Copied from Perforce
Change: 181862
ServerID: perforce.ravenbrook.com
2013-05-16 13:54:06 +01:00
Richard Brooksby
a2c89c2c40
Making clear the size of the array of args passed to varargs conversion methods.
...
Copied from Perforce
Change: 181845
ServerID: perforce.ravenbrook.com
2013-05-16 03:12:11 +01:00
Richard Brooksby
8b430778b6
Replacing varargs passed to seginit with keyword argument list.
...
Copied from Perforce
Change: 181679
ServerID: perforce.ravenbrook.com
2013-05-09 17:34:01 +01:00
Richard Brooksby
b4e1f173db
Changing required keyword arguments to cause an assertion rather than return a status code, and removing repetition in how this is expressed.
...
Copied from Perforce
Change: 181674
ServerID: perforce.ravenbrook.com
2013-05-09 15:15:40 +01:00
Richard Brooksby
82cf26a55d
Consolidating common pool keywords.
...
Copied from Perforce
Change: 181649
ServerID: perforce.ravenbrook.com
2013-05-09 00:06:07 +01:00
Richard Brooksby
3ab047467f
Macroizing keyword definitions and adding more keyword argument checking methods.
...
Copied from Perforce
Change: 181647
ServerID: perforce.ravenbrook.com
2013-05-08 23:40:40 +01:00
Richard Brooksby
e67939cabb
Pushing varargs decoding into a pool class method. much simpler.
...
Copied from Perforce
Change: 181642
ServerID: perforce.ravenbrook.com
2013-05-08 22:43:51 +01:00
Richard Brooksby
a8afd8e6f4
Converting pools to use keyword arguments, mostly, and so far inconsistently, but at least it compiles.
...
Copied from Perforce
Change: 181635
ServerID: perforce.ravenbrook.com
2013-05-08 16:21:12 +01:00
Gareth Rees
1c0af37416
Rename "mpscmv2.h" to "mpscmvt.h" for consistency.
...
Copied from Perforce
Change: 180489
ServerID: perforce.ravenbrook.com
2012-11-16 14:48:14 +00:00
Richard Brooksby
e6e620f76c
Merging branch/2012-08-21/diagnostic-telemetry.
...
Copied from Perforce
Change: 179289
ServerID: perforce.ravenbrook.com
2012-09-05 23:45:31 +01:00
Richard Brooksby
bb747e8e33
Renaming some check* macros with more accurate names, making remaining check* macros similar in function.
...
Copied from Perforce
Change: 179155
ServerID: perforce.ravenbrook.com
2012-09-01 10:18:08 +01:00
Richard Brooksby
ddcce429f4
Abolishing eventgen.pl. event structures are now expanded by the preprocessor.
...
Abolishing event formats. Each event now has its own structure.
Event parameters are now written directly into the event buffer, rather than being copied twice.
Copied from Perforce
Change: 179010
ServerID: perforce.ravenbrook.com
2012-08-21 22:48:11 +01:00
Richard Kistruck
9935ca3ecd
mps br/timing: tabs in source files. (p4 diff -db -- confirms whitespace changes only).
...
Copied from Perforce
Change: 166673
ServerID: perforce.ravenbrook.com
2008-11-07 13:56:12 +00:00
Richard Brooksby
f22e14e334
Eliminating "impl" type tags and replacing them with uri-style file references.
...
Copied from Perforce
Change: 29900
ServerID: perforce.ravenbrook.com
2002-06-07 17:34:59 +01:00
Richard Brooksby
0a95c05521
Updating cross references to design documents to html style, to go with master/design document tree.
...
Copied from Perforce
Change: 29897
ServerID: perforce.ravenbrook.com
2002-06-07 16:47:14 +01:00
Richard Brooksby
5afb4899ef
Adding forward reference to licenses from copyright notices.
...
Adding licenses to a couple of files I missed.
Copied from Perforce
Change: 29837
ServerID: perforce.ravenbrook.com
2002-06-06 11:56:19 +01:00
Richard Brooksby
819ed0ed76
Adding licenses to source code files.
...
Copied from Perforce
Change: 29836
ServerID: perforce.ravenbrook.com
2002-06-06 11:44:23 +01:00
Nick Barnes
ab0821c590
Remove trailing whitespace.
...
Copied from Perforce
Change: 25309
ServerID: perforce.ravenbrook.com
2001-12-17 15:18:17 +00:00
Richard Brooksby
c2b33bb9b5
Removing hopenames from the master sources.
...
This change will be integrated but ignored (-ay) to the gg-epcore/union sources, so that they retain HopeNames.
Copied from Perforce
Change: 24911
ServerID: perforce.ravenbrook.com
2001-12-07 13:19:25 +00:00
Richard Brooksby
d0ccf8fa9a
Adding hopenames back into the master sources, so that they can be included in the union sources along with the id keywords.
...
This was achieved by partially undoing changelist 24817, including an accidental corruption of eventgen.pl.
Copied from Perforce
Change: 24877
ServerID: perforce.ravenbrook.com
2001-12-06 18:14:02 +00:00
Richard Brooksby
c84f2a8553
Updating copyright messages to say copyright 2001 ravenbrook throughout.
...
Adding some missing copyright messages.
Copied from Perforce
Change: 24818
ServerID: perforce.ravenbrook.com
2001-12-05 16:18:43 +00:00
Richard Brooksby
e0a5828027
Changing hopename keywords to id keywords throughout, to work with perforce.
...
Copied from Perforce
Change: 24817
ServerID: perforce.ravenbrook.com
2001-12-05 16:05:52 +00:00
Richard Brooksby
68e0b8253f
Merging changes from union to masters. this incorporates pekka's updates: tuning and a type in amcsshe.c and some adding some missing checks in arenavm.c. it also brings our cope of their hopenames up to date.
...
Copied from Perforce
Change: 24815
ServerID: perforce.ravenbrook.com
2001-12-05 15:48:24 +00:00
Nick Barnes
88e5e63275
Branch imports for masters.
...
Copied from Perforce
Change: 23678
ServerID: perforce.ravenbrook.com
2001-10-31 14:40:56 +00:00