1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-24 22:40:51 -08:00
Commit graph

186 commits

Author SHA1 Message Date
Richard Brooksby
cae4514c1b Merging branch/2016-03-13/defer-write-barrier into master sources.
Copied from Perforce
 Change: 190380
 ServerID: perforce.ravenbrook.com
2016-03-24 12:07:20 +00:00
Richard Brooksby
7a7913786c Responding to review by gdr <https://info.ravenbrook.com/mail/2016/03/21/20-20-15/0/>.
Copied from Perforce
 Change: 190307
 ServerID: perforce.ravenbrook.com
2016-03-22 16:32:10 +00:00
Richard Brooksby
b97bd74013 Renaming shield cache to shield queue.
Copied from Perforce
 Change: 190220
 ServerID: perforce.ravenbrook.com
2016-03-20 00:46:59 +00:00
Richard Brooksby
2469f09e6e Improving design document with references and separating ideas from current implementation.
Copied from Perforce
 Change: 190214
 ServerID: perforce.ravenbrook.com
2016-03-19 23:31:00 +00:00
Richard Brooksby
fde3757bac Tidying up and adding cross references to shiny new design document.
Copied from Perforce
 Change: 190213
 ServerID: perforce.ravenbrook.com
2016-03-19 23:07:53 +00:00
Richard Brooksby
7ab4a5c7cf Catch-up merge from master sources to branch/2016-03-13/defer-write-barrier.
Copied from Perforce
 Change: 190175
 ServerID: perforce.ravenbrook.com
2016-03-17 20:14:47 +00:00
Richard Brooksby
91a08048b7 Design documentation, commentary, and code tidying.
Copied from Perforce
 Change: 190172
 ServerID: perforce.ravenbrook.com
2016-03-17 20:04:26 +00:00
Richard Brooksby
8df13d0bff Shield cache that grows. improving commentary.
Copied from Perforce
 Change: 190160
 ServerID: perforce.ravenbrook.com
2016-03-17 16:55:14 +00:00
Richard Brooksby
641cdc164c Catch-up merge from master sources to branch/2016-03-11/shield-coalesce.
Copied from Perforce
 Change: 190150
 ServerID: perforce.ravenbrook.com
2016-03-17 13:53:40 +00:00
Richard Brooksby
069dbc4e97 Justifying the default pause time.
Copied from Perforce
 Change: 190049
 ServerID: perforce.ravenbrook.com
2016-03-15 06:04:42 +00:00
Richard Brooksby
47dbed0eee Tidying up naming of write barrier deferral.
Copied from Perforce
 Change: 189960
 ServerID: perforce.ravenbrook.com
2016-03-13 13:26:24 +00:00
Richard Brooksby
06af849502 Integrating write barrier deferral changes from branch/2014-08-18/non-incremental.
p4 integrate branch/2014-08-18/non-incremental/...@186975,186988 branch/2016-03-13/defer-write-barrier/...

Copied from Perforce
 Change: 189943
 ServerID: perforce.ravenbrook.com
2016-03-13 11:27:21 +00:00
Gareth Rees
167408b7e0 Implement pause time control.
Copied from Perforce
 Change: 189921
 ServerID: perforce.ravenbrook.com
2016-03-12 22:08:26 +00:00
Gareth Rees
31de518300 Catch-up merge from branch/2015-08-25/tradeoff to branch/2016-03-12/pause (to pick up the morework value in arenapoll).
Copied from Perforce
 Change: 189918
 ServerID: perforce.ravenbrook.com
2016-03-12 20:32:41 +00:00
Gareth Rees
f9041d9a20 Documentation and interface for pause time control (no implementation yet).
Copied from Perforce
 Change: 189915
 ServerID: perforce.ravenbrook.com
2016-03-12 20:25:33 +00:00
David Lovemore
dbbea04f7f Bigger shield cache, to make coalescing more useful.
Copied from Perforce
 Change: 189872
 ServerID: perforce.ravenbrook.com
2016-03-11 17:05:45 +00:00
Richard Brooksby
c015827c36 Catch-up merge from master sources.
Copied from Perforce
 Change: 189265
 ServerID: perforce.ravenbrook.com
2016-02-17 11:04:51 +00:00
Gareth Rees
aa6a027c68 Catch-up merge from branch/2015-08-11/policy to branch/2015-08-25/tradeoff.
Copied from Perforce
 Change: 188250
 ServerID: perforce.ravenbrook.com
2015-09-04 19:13:28 +01:00
Gareth Rees
b43a56f9b5 Move arenadefaultzoneset to be adjacent to its todo.
Add comments for ArenaDefaultZONESET and LocusPrefDEFAULT.

Copied from Perforce
 Change: 188237
 ServerID: perforce.ravenbrook.com
2015-09-04 15:24:14 +01:00
Gareth Rees
b4db3bd09f Introduce new type work representing a measure of work done by the collector. use this systematically to make the code clearer.
Copied from Perforce
 Change: 188210
 ServerID: perforce.ravenbrook.com
2015-09-03 13:01:55 +01:00
Gareth Rees
1f6522bd04 Catch-up merge from branch/2015-08-11/policy to branch/2015-08-25/tradeoff.
Copied from Perforce
 Change: 188176
 ServerID: perforce.ravenbrook.com
2015-08-25 19:35:03 +01:00
Gareth Rees
d506458eea New function policycollectiontime estimates the time needed to collect the arena. mysterious constants are given names and moved to config.h.
Copied from Perforce
 Change: 188160
 ServerID: perforce.ravenbrook.com
2015-08-21 15:27:14 +01:00
Gareth Rees
703c1ee5f5 New function mps_arena_configure provides keyword argument interface to changing the properties of an arena.
New keyword arguments MPS_KEY_ARENA_COMMIT_LIMIT and MPS_KEY_SPARE_ARENA_COMMIT_LIMIT can be passed to mps_arena_create_k or mps_arena_configure.
Deprecate mps_arena_commit_limit_set and mps_arena_spare_commit_limit_set.

Copied from Perforce
 Change: 188085
 ServerID: perforce.ravenbrook.com
2015-08-06 17:02:51 +01:00
Gareth Rees
a960f642f1 Analysis justifying the value of stackprobedepth.
Copied from Perforce
 Change: 187380
 ServerID: perforce.ravenbrook.com
2014-10-24 10:16:28 +01:00
Gareth Rees
655e78f3be Bring ring design up to date (excepting figures).
Add links from design documents to mail messages imported from Harlequin.

Copied from Perforce
 Change: 187067
 ServerID: perforce.ravenbrook.com
2014-09-27 16:11:21 +01:00
Gareth Rees
7c2e271e60 Rename segpref to locuspref -- this structure describes preferences for the placement of any kind of address, not just segments.
Add LocusPrefDescribe and use it in MVFFDescribe.

Copied from Perforce
 Change: 187061
 ServerID: perforce.ravenbrook.com
2014-09-27 11:27:00 +01:00
David Lovemore
b4460043e6 Added more control over write barrier. in particular separated scans after a hit.
Copied from Perforce
 Change: 186988
 ServerID: perforce.ravenbrook.com
2014-08-27 11:21:18 +01:00
David Lovemore
46d723c9dc Added experimental control over write barrier eagerness.
The write barrier is only raised after three unnecessary scans.

Copied from Perforce
 Change: 186975
 ServerID: perforce.ravenbrook.com
2014-08-21 15:53:57 +01:00
David Lovemore
8c9353fe34 Add mps_key_arena_incremental option.
Avoid read and write barrier in non-incremental mode.
Add --non-incremental option to gcbench

Copied from Perforce
 Change: 186969
 ServerID: perforce.ravenbrook.com
2014-08-20 13:03:20 +01:00
David Lovemore
6abe840d06 set control_extend_by to 32768.
The CONTROL_EXTEND_BY value for the extend by on the control pool was set really small (4096) on the assumption that the control pool was not heavily used. However, since we allocate Seg's in the control pool and recycle them frequently, this assumption is no longer true.

Copied from Perforce
 Change: 186832
 ServerID: perforce.ravenbrook.com
2014-07-04 15:27:48 +01:00
Gareth Rees
37a15e8f3e Don't repeat generation sizes in the comments (they could get out of sync).
Copied from Perforce
 Change: 186827
 ServerID: perforce.ravenbrook.com
2014-07-04 13:58:34 +01:00
David Lovemore
358a3c5fc6 Adjust generation sizes for the default chain.
Add release note recommending retuning of generation sizes.

Copied from Perforce
 Change: 186824
 ServerID: perforce.ravenbrook.com
2014-07-04 13:32:45 +01:00
Gareth Rees
9d1cec7942 Ensure that the amcss test case uses a wide range of arena grain sizes (by scaling up the whole allocation).
Remove hack from rnd_grain -- this was covering up a bug.
Base the AMC "large" segment determination on the requested object size, not the (rounded up) segment size.
Assert in the case where largeSize < extendBy: this has bad space performance.

Copied from Perforce
 Change: 186755
 ServerID: perforce.ravenbrook.com
2014-06-30 16:07:09 +01:00
Gareth Rees
414719db23 Round up the grain size in the client arena to arena_client_grain_size (otherwise the grain might be so small that the page table uses up all the space in the chunk).
Copied from Perforce
 Change: 186689
 ServerID: perforce.ravenbrook.com
2014-06-19 14:10:30 +01:00
David Lovemore
392e6a056a Catch up merge from master/...@186577
Copied from Perforce
 Change: 186582
 ServerID: perforce.ravenbrook.com
2014-06-13 16:38:20 +01:00
Gareth Rees
a13a1aa1df Catch-up merge from master sources @186564 to branch/2014-06-11/grain.
Copied from Perforce
 Change: 186572
 ServerID: perforce.ravenbrook.com
2014-06-13 15:30:46 +01:00
David Lovemore
adbb265043 Updated due to gdr's review comments in mail <https://info.ravenbrook.com/mail/2014/06/13/12-46-29/0/>
Copied from Perforce
 Change: 186569
 ServerID: perforce.ravenbrook.com
2014-06-13 15:09:49 +01:00
Gareth Rees
5aba28db8d Rename vmgrainsize to vmpagesize (because it is in fact the operating system page size) and to avoid confusion with the arena grain size.
Copied from Perforce
 Change: 186543
 ServerID: perforce.ravenbrook.com
2014-06-12 17:18:50 +01:00
Gareth Rees
a74d906fc5 Need a definition of vman_grain_size.
Copied from Perforce
 Change: 186509
 ServerID: perforce.ravenbrook.com
2014-06-11 17:39:57 +01:00
Gareth Rees
bfb0b771dd Rename "arena alignment" to "arena grain size" to avoid confusion with ordinary structure alignment.
Copied from Perforce
 Change: 186503
 ServerID: perforce.ravenbrook.com
2014-06-11 17:13:03 +01:00
Gareth Rees
a08139899f 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
David Lovemore
84ddecde2f Amc now respects mps_key_extend_by keyword argument.
AMC also uses MPS_KEY_LARGE_SIZE keyword argument to specify what size objects need to be to live on their own segment.

Copied from Perforce
 Change: 186480
 ServerID: perforce.ravenbrook.com
2014-06-11 12:12:44 +01:00
Gareth Rees
317cad785d 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
3704522c58 Catch-up merge from master sources @186352 to branch/2014-04-15/mvffnoseg.
Copied from Perforce
 Change: 186355
 ServerID: perforce.ravenbrook.com
2014-05-29 16:03:34 +01:00
Gareth Rees
13ba0ef139 Add comment explaining purpose of attribute_unused.
Copied from Perforce
 Change: 186335
 ServerID: perforce.ravenbrook.com
2014-05-28 17:24:46 +01:00
Gareth Rees
383d510d31 In light of performance findings, boost the default arena size to 256 mb. add a -m option to djbench so that we can test the effect of setting the initial arena size on the manual pool classes.
Copied from Perforce
 Change: 186224
 ServerID: perforce.ravenbrook.com
2014-05-20 23:25:03 +01:00
Gareth Rees
7cd4759316 Catch-up merge from branch/2014-03-30/addrset to branch/2014-04-15/mvffnoseg.
Copied from Perforce
 Change: 186082
 ServerID: perforce.ravenbrook.com
2014-05-13 16:27:17 +01:00
Gareth Rees
f4a4f1e250 Merge branch/2014-02-23/mvff-tune into branch/2014-04-15/mvffnoseg.
Copied from Perforce
 Change: 186079
 ServerID: perforce.ravenbrook.com
2014-05-13 16:10:51 +01:00
Gareth Rees
d44862dcf7 Ansi platform compiles and passes tests on windows. in detail:
* Move Windows-specific modules like vmw3.c out of commpre.nmk and into the platform-specific Nmake files.
* Set StackProbeDEPTH to 0 on the ANSI platform.
* New Nmake file ananmv.nmk builds the MPS for the ANSI platform using Microsoft Visual C/C++.

Copied from Perforce
 Change: 186063
 ServerID: perforce.ravenbrook.com
2014-05-13 10:12:56 +01:00
Gareth Rees
691195da96 Setenv requires _gnu_source, so get the headers in the right order so that the feature macros are set up in config.h before any system header is included.
Don't update _XOPEN_SOURCE if it's already set to a high enough value.

Copied from Perforce
 Change: 186049
 ServerID: perforce.ravenbrook.com
2014-05-12 19:48:01 +01:00