Richard Brooksby
b2d35664df
Apss test relies on non-zoned client arena to test tight memory condition, but client arena is zoned by default now. fixed the test to set up a non-zoned client arena.
...
Copied from Perforce
Change: 184779
ServerID: perforce.ravenbrook.com
2014-03-13 15:00:37 +00:00
Richard Brooksby
aa7c900988
Return the correct reason that arena extension failed.
...
Copied from Perforce
Change: 184777
ServerID: perforce.ravenbrook.com
2014-03-13 13:48:43 +00:00
Richard Brooksby
687c50b762
Implementing top-down (last fit) allocation in zones.
...
Copied from Perforce
Change: 184771
ServerID: perforce.ravenbrook.com
2014-03-13 12:06:28 +00:00
Richard Brooksby
c77f1f931f
Responding to code review < https://info.ravenbrook.com/mail/2014/03/12/15-42-41/0/ >.
...
Copied from Perforce
Change: 184754
ServerID: perforce.ravenbrook.com
2014-03-12 15:45:50 +00:00
Richard Brooksby
da27b88605
Improving rangecopy based on code review suggestion < https://info.ravenbrook.com/mail/2014/03/10/17-01-58/0/ >.
...
Copied from Perforce
Change: 184743
ServerID: perforce.ravenbrook.com
2014-03-12 11:30:05 +00:00
Richard Brooksby
158f94d510
Arenacv is not designed to work on a zoned client arena, even though this has become a possible combination. removed that case.
...
Copied from Perforce
Change: 184742
ServerID: perforce.ravenbrook.com
2014-03-12 10:46:44 +00:00
Richard Brooksby
061eba523c
Reponding to code review < https://info.ravenbrook.com/mail/2014/03/10/17-01-58/0/ >.
...
Renaming the arena’s “zoned CBS” back to earlier “free CBS”, especially since it might not be zoned.
Copied from Perforce
Change: 184738
ServerID: perforce.ravenbrook.com
2014-03-11 17:27:57 +00:00
Richard Brooksby
2ce13f82dc
Incomplete response to code review. see < https://info.ravenbrook.com/mail/2014/03/07/11-21-03/0/ >.
...
Copied from Perforce
Change: 184735
ServerID: perforce.ravenbrook.com
2014-03-11 16:39:11 +00:00
Richard Brooksby
2b9719e4bd
Catch-up merge from master.
...
Copied from Perforce
Change: 184732
ServerID: perforce.ravenbrook.com
2014-03-11 16:30:47 +00:00
Richard Brooksby
1e8eec530b
Catch-up merge from branch/2014-02-22/splay-tune to pick up code review changes.
...
Copied from Perforce
Change: 184727
ServerID: perforce.ravenbrook.com
2014-03-11 16:07:19 +00:00
Richard Brooksby
1f2cf6aa56
Responding to code review < https://info.ravenbrook.com/mail/2014/03/07/18-03-14/0/ >.
...
Updating Splay Tree design document to be reasonably consistent with the current code.
Disabling tree functions not currently in use.
Copied from Perforce
Change: 184723
ServerID: perforce.ravenbrook.com
2014-03-11 15:46:51 +00:00
Richard Brooksby
9d7b1ff29e
Improving comments in response to code review suggestions < https://info.ravenbrook.com/mail/2014/03/11/14-47-33/0/ >.
...
Copied from Perforce
Change: 184725
ServerID: perforce.ravenbrook.com
2014-03-11 15:46:51 +00:00
Richard Brooksby
16e0798806
Responding to code review < https://info.ravenbrook.com/mail/2014/03/07/22-40-36/0/ >.
...
Using TREE_ELT where appropriate.
Using AVERT consistently on Tree, but see job003691.
Copied from Perforce
Change: 184724
ServerID: perforce.ravenbrook.com
2014-03-11 15:46:51 +00:00
Richard Brooksby
1a37468bca
Fixing windows build.
...
Copied from Perforce
Change: 184721
ServerID: perforce.ravenbrook.com
2014-03-11 15:22:21 +00:00
Richard Brooksby
00420bfce5
Fixing freebsd build.
...
Copied from Perforce
Change: 184719
ServerID: perforce.ravenbrook.com
2014-03-11 14:46:47 +00:00
Gareth Rees
784bc484ca
Poolfix is on the critical path, so use aver_critical rather than aver.
...
Copied from Perforce
Change: 184693
ServerID: perforce.ravenbrook.com
2014-03-08 10:23:09 +00:00
Gareth Rees
cf4d9b0596
Ensure that djbench and gcbench compile on freebsd:
...
Link fmtdy with gcbench.
RESERVE_ALLOC in djbench ignores the return values from mps_reserve and mps_commit.
Don't include alloca.h -- alloca is in stdlib.h.
Rename start, finish to begin, end to avoid "local variable shadows global" error from gcc.
Copied from Perforce
Change: 184691
ServerID: perforce.ravenbrook.com
2014-03-08 00:36:32 +00:00
Gareth Rees
d2b6956f6a
Add locbwcss and locusss to the test suite on os x, freebsd and linux.
...
Add const qualifier so that locbwcss and locusss compile without warnings.
Build djbench and gcbench on FreeBSD and Linux.
Don't include <alloca.h> -- alloca is in stdlib.h.
Copied from Perforce
Change: 184689
ServerID: perforce.ravenbrook.com
2014-03-08 00:24:04 +00:00
Gareth Rees
690ddfdde4
Delete .gdbinit: it hasn't been necessary to "handle sigbus nostop" on os x since the we started using mach exceptions (change 183002).
...
Copied from Perforce
Change: 184678
ServerID: perforce.ravenbrook.com
2014-03-07 19:02:05 +00:00
Gareth Rees
f40425bef2
Ensure that the mps builds on windows by adding <sa> to mpmcommon.
...
Copied from Perforce
Change: 184675
ServerID: perforce.ravenbrook.com
2014-03-07 17:24:46 +00:00
Richard Brooksby
4e28809e4a
Responding to code review. see < https://info.ravenbrook.com/mail/2014/03/04/12-02-27/0/ >.
...
Copied from Perforce
Change: 184669
ServerID: perforce.ravenbrook.com
2014-03-07 15:00:54 +00:00
Richard Brooksby
d1473656ee
Resolving questions left behind in fixmes.
...
Copied from Perforce
Change: 184609
ServerID: perforce.ravenbrook.com
2014-02-28 14:42:44 +00:00
Richard Brooksby
a989f15b7f
Adding more unzoned arena test cases back, now that there’s a keyword to the arena.
...
Copied from Perforce
Change: 184608
ServerID: perforce.ravenbrook.com
2014-02-28 14:42:18 +00:00
Richard Brooksby
d8362f2cad
Merging branch/2014-02-22/splay-tune to pick up splay tree improvements.
...
Copied from Perforce
Change: 184606
ServerID: perforce.ravenbrook.com
2014-02-28 14:27:40 +00:00
Richard Brooksby
1956b0cee1
Restoring error path for arenaalloc.
...
Copied from Perforce
Change: 184604
ServerID: perforce.ravenbrook.com
2014-02-28 13:48:56 +00:00
Richard Brooksby
b15751c829
Removing redundant blacklisting event.
...
Copied from Perforce
Change: 184603
ServerID: perforce.ravenbrook.com
2014-02-28 13:46:51 +00:00
Richard Brooksby
fcd691aaa3
Adding unzoned arena tests back, now that there is a method of asking for them.
...
Copied from Perforce
Change: 184602
ServerID: perforce.ravenbrook.com
2014-02-28 13:46:36 +00:00
Richard Brooksby
53bdfaab23
More closely duplicating the allocation policy from the old vmarena, and documenting why.
...
Copied from Perforce
Change: 184601
ServerID: perforce.ravenbrook.com
2014-02-28 13:35:51 +00:00
Richard Brooksby
4eec2493b7
Adding a keyword to the arena to disable zoned allocation.
...
Copied from Perforce
Change: 184599
ServerID: perforce.ravenbrook.com
2014-02-28 13:20:06 +00:00
Richard Brooksby
a1a14a1683
Implementing allocation in the client arena class.
...
Copied from Perforce
Change: 184596
ServerID: perforce.ravenbrook.com
2014-02-28 11:23:59 +00:00
Richard Brooksby
0673536606
Fixing res/bool confusion found by “xc/debug/fbmtest 244032167”
...
Copied from Perforce
Change: 184595
ServerID: perforce.ravenbrook.com
2014-02-28 10:53:07 +00:00
Richard Brooksby
31b493236c
Reinstating exhaustive splay tree search, since a tree or node may intersect a requested zone set, and be larger than a requested size, but still not satisfy a request.
...
Copied from Perforce
Change: 184594
ServerID: perforce.ravenbrook.com
2014-02-28 10:52:45 +00:00
Richard Brooksby
887c6e3845
Tidying up interfaces to cbsinit and cbsfindinzones.
...
Documenting assumptions about CBS block allocation used by the arena.
Copied from Perforce
Change: 184593
ServerID: perforce.ravenbrook.com
2014-02-28 10:30:32 +00:00
Richard Brooksby
14620f8c24
Simplifying the interface to cbsfindinzones.
...
Speeding up CBSFindInZones a bit.
Copied from Perforce
Change: 184589
ServerID: perforce.ravenbrook.com
2014-02-28 01:25:18 +00:00
Richard Brooksby
1ef160e7b1
Reverting exhaustive search in splayfindfirst and splayfindlast since zoned cbs will use an accurate test on the cbs block zones property, and this code will never be exercised.
...
Copied from Perforce
Change: 184588
ServerID: perforce.ravenbrook.com
2014-02-28 00:47:42 +00:00
Richard Brooksby
ddfec2c708
Eliminating complex zonedcbs adt and reintroducing a cbs with zone summaries. removing the default “high” segment preference, that caused the cbs trees to unbalance, and isn’t required outside of ep. considerable reduction in code and speed up, now at parity with master on test xc/release/gcbench -x 1234 amc
...
Copied from Perforce
Change: 184587
ServerID: perforce.ravenbrook.com
2014-02-28 00:35:05 +00:00
Richard Brooksby
7a33207595
Adding some missing headers revealed by separate compilation.
...
Copied from Perforce
Change: 184584
ServerID: perforce.ravenbrook.com
2014-02-27 18:01:05 +00:00
Richard Brooksby
2d685bee13
Adding check for unexpected case of zone barging.
...
Copied from Perforce
Change: 184583
ServerID: perforce.ravenbrook.com
2014-02-27 17:50:44 +00:00
Richard Brooksby
dee2b3438b
Inserting small ranges into the zone cbss so that they can be reallocated quickly.
...
Copied from Perforce
Change: 184579
ServerID: perforce.ravenbrook.com
2014-02-27 17:01:29 +00:00
Richard Brooksby
6b17c88c69
Implementing splayfindlast to match splayfindfirst. oops.
...
Copied from Perforce
Change: 184578
ServerID: perforce.ravenbrook.com
2014-02-27 16:03:55 +00:00
Richard Brooksby
e6d1db24b6
Simplifying interface to high and low allocation in the zoned cbs.
...
Copied from Perforce
Change: 184576
ServerID: perforce.ravenbrook.com
2014-02-27 12:01:42 +00:00
Richard Brooksby
b160cf778a
Separating arena cbs allocator into abstract zonedcbs adt. the number of chunks seems to blow up.
...
Copied from Perforce
Change: 184575
ServerID: perforce.ravenbrook.com
2014-02-27 04:50:52 +00:00
Richard Brooksby
3b3e01b10f
Searching the freecbs now respects the “high” preference, though not yet within blocks.
...
Copied from Perforce
Change: 184574
ServerID: perforce.ravenbrook.com
2014-02-26 19:29:05 +00:00
Richard Brooksby
6b16beb0c6
Implemented “high” preference allocation for zone stripes.
...
Copied from Perforce
Change: 184573
ServerID: perforce.ravenbrook.com
2014-02-26 18:18:20 +00:00
Richard Brooksby
dc83b10c0d
Fixing cbsfindfirstinzones to return a res, because it can fail when it can’t allocate a cbs block, unlike cbsfindfirst.
...
Fixing related corner case in arenaAllocFindInFreeCBS when it thought it couldn’t find a block when it was in fact running out of nodes. This was revealed by “gcbench --npass 1 --arena-size 1M --seed 945632066 --niter 1 amc”.
Fixing draft ArenaFreeCBSDelete after exercising it.
Copied from Perforce
Change: 184568
ServerID: perforce.ravenbrook.com
2014-02-26 17:40:39 +00:00
Richard Brooksby
c76ae6e629
Removing unused fields from vmarenastruct.
...
Copied from Perforce
Change: 184567
ServerID: perforce.ravenbrook.com
2014-02-26 17:37:16 +00:00
Richard Brooksby
4a1eb8bae3
Adding clarifying bracket.
...
Copied from Perforce
Change: 184566
ServerID: perforce.ravenbrook.com
2014-02-26 17:36:27 +00:00
Richard Brooksby
f215460eb1
Adding checking of the freecbs and zonecbss to arenacheck.
...
Copied from Perforce
Change: 184563
ServerID: perforce.ravenbrook.com
2014-02-26 14:25:01 +00:00
Richard Brooksby
4fdddc36e0
Backing out zone set summary in the cbs. this isn't needed for speed now that there's a cbs per zone in the arena, and it will slow down all other cbss.
...
Copied from Perforce
Change: 184561
ServerID: perforce.ravenbrook.com
2014-02-26 14:24:34 +00:00
Richard Brooksby
65a00f5945
Minor documentation improvements to binary trees.
...
Copied from Perforce
Change: 184552
ServerID: perforce.ravenbrook.com
2014-02-26 13:23:31 +00:00