1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-23 15:22:20 -07:00
Commit graph

4511 commits

Author SHA1 Message Date
Richard Brooksby
4ce753ec45 Abstracting partially mapped page tables into a sparsearray abstract datatype, removing a great deal of complexity from the vm arena, and some unnecessary double-initialisation and scanning loops during allocation.
Copied from Perforce
 Change: 184333
 ServerID: perforce.ravenbrook.com
2014-02-12 17:32:20 +00:00
Richard Brooksby
b4c03d0ef1 Clarifying how the beginning of the page table gets unmapped.
Copied from Perforce
 Change: 184332
 ServerID: perforce.ravenbrook.com
2014-02-12 15:06:04 +00:00
Richard Brooksby
0833d101a0 Responding to review comments. see <https://info.ravenbrook.com/mail/2014/02/12/11-30-00/0/>.
Copied from Perforce
 Change: 184331
 ServerID: perforce.ravenbrook.com
2014-02-12 11:31:00 +00:00
Richard Brooksby
763c6af2bc Purging half of the spare memory, rather than just enough to get under the limit, so that there aren’t many small unmaps, and many scans for spare pages.
Copied from Perforce
 Change: 184326
 ServerID: perforce.ravenbrook.com
2014-02-11 18:26:00 +00:00
Richard Brooksby
d3f9686d30 Fixing boundary cases for unmapping page table pages when there aren’t a nice whole number of descriptors on each page.
Copied from Perforce
 Change: 184325
 ServerID: perforce.ravenbrook.com
2014-02-11 17:18:21 +00:00
Richard Brooksby
3077840ff8 Adding a cache of free pages per zone to the arena, so that we recycle single pages fast, especially after each reclaim.
Copied from Perforce
 Change: 184324
 ServerID: perforce.ravenbrook.com
2014-02-11 15:23:32 +00:00
Richard Brooksby
2b5e126c48 Further tidying up of the page descriptor and naming.
Copied from Perforce
 Change: 184323
 ServerID: perforce.ravenbrook.com
2014-02-11 14:14:16 +00:00
Richard Brooksby
40e4e93dec Encoding the page state in the bottom two bits of the first field, rather than using up a whole word, in order to make room for a free list pointer.
Copied from Perforce
 Change: 184322
 ServerID: perforce.ravenbrook.com
2014-02-11 13:41:57 +00:00
Richard Brooksby
4329661aca Improving commentary on page table unmapping code in response to review. see <https://info.ravenbrook.com/mail/2014/01/31/17-26-12/0/>.
Copied from Perforce
 Change: 184291
 ServerID: perforce.ravenbrook.com
2014-02-04 16:56:36 +00:00
Richard Brooksby
d206bd35b9 Changes from review comments made in <https://info.ravenbrook.com/mail/2014/01/31/13-40-25/0/>.
ArenaSpareCommitExceeded changed to ArenaPurgeSpare so that the arena can properly reduce the amount of spare memory when setting the commit limit etc.
pagesMarkAllocated promptly unmaps page table pages in its error path.
Miscellaneous clarifications and extra checking.

Copied from Perforce
 Change: 184267
 ServerID: perforce.ravenbrook.com
2014-01-31 15:21:21 +00:00
Richard Brooksby
e5f2846a2d Keeping a single ring of spare chunks in the vm arena, in lru order, so that spare pages are unmapped closer to lru.
Copied from Perforce
 Change: 184251
 ServerID: perforce.ravenbrook.com
2014-01-31 09:36:42 +00:00
Richard Brooksby
8861cdcb2b Using a more robust page table unmapping method that catches pages previously left mapped in the error page of pagesmarkallocated.
Test run passes.

Copied from Perforce
 Change: 184250
 ServerID: perforce.ravenbrook.com
2014-01-31 02:05:11 +00:00
Richard Brooksby
b937a0b8fc Attempting to correct the unmapping of the page table. still doesn’t quite work.
Copied from Perforce
 Change: 184249
 ServerID: perforce.ravenbrook.com
2014-01-31 00:03:32 +00:00
Richard Brooksby
ecc0ab3dfe Abolishing the spare pages bit table.
Not quite working yet. This code fails to unmap unused page table pages, and so triggers an assertion at chunk finish.

Copied from Perforce
 Change: 184246
 ServerID: perforce.ravenbrook.com
2014-01-30 19:58:36 +00:00
Richard Brooksby
9c70f44c70 Adding spare pages to a ring within each chunk, so that they can be found without a bit table scan.
Spare pages are returned to the OS using the ring in roughly LRU order.
Only enough spare pages are returned to maintain hysteresis, rather than all of them.
Nearly ready to strip out the noSparePages bit table.

Copied from Perforce
 Change: 184245
 ServerID: perforce.ravenbrook.com
2014-01-30 19:58:36 +00:00
Richard Brooksby
a641e9be52 Branching to improve efficiency of spare page search using a ring rather than a bit table scan.
Copied from Perforce
 Change: 184243
 ServerID: perforce.ravenbrook.com
2014-01-30 19:48:55 +00:00
Gareth Rees
d58d15e2fa Fix the formatting.
Copied from Perforce
 Change: 184236
 ServerID: perforce.ravenbrook.com
2014-01-30 15:34:32 +00:00
Richard Brooksby
9e197b6a79 Fix broken hysteresis in tract mapping. only purge spare pages if it’s possible to free a chunk, rather than speculatively every reclaim. see <https://info.ravenbrook.com/mail/2014/01/25/17-37-52/0/>.
Copied from Perforce
 Change: 184125
 ServerID: perforce.ravenbrook.com
2014-01-25 18:00:51 +00:00
Richard Brooksby
f906187add iterating over segments using the pool and segment rings, rather than scanning the tract table, which may be full of irrelevant tracts, especially when non-gc pools are large. see <https://info.ravenbrook.com/mail/2014/01/25/12-16-09/0/>.
Copied from Perforce
 Change: 184120
 ServerID: perforce.ravenbrook.com
2014-01-25 15:33:10 +00:00
Richard Brooksby
76b66a7083 Adding a rash configuration to xcode builds.
Copied from Perforce
 Change: 184117
 ServerID: perforce.ravenbrook.com
2014-01-25 15:25:52 +00:00
Richard Brooksby
6e8d189002 Ignoring a.out (default output from cc).
Copied from Perforce
 Change: 184116
 ServerID: perforce.ravenbrook.com
2014-01-25 15:24:28 +00:00
Richard Brooksby
728ea5e066 Inclusion order mysteriously prevents profiling under xcode.
Copied from Perforce
 Change: 184111
 ServerID: perforce.ravenbrook.com
2014-01-24 16:00:49 +00:00
Richard Brooksby
8086cc7cad Merging the "dj" benchmark from the benchmarking development branch.
Copied from Perforce
 Change: 184106
 ServerID: perforce.ravenbrook.com
2014-01-24 15:29:28 +00:00
Richard Brooksby
fa49628770 Adding const qualifier to various strings as required by xcode.
Copied from Perforce
 Change: 184105
 ServerID: perforce.ravenbrook.com
2014-01-24 15:07:33 +00:00
Richard Brooksby
e37946b6f9 Catch-up merge from master.
Copied from Perforce
 Change: 184103
 ServerID: perforce.ravenbrook.com
2014-01-24 14:22:27 +00:00
Gareth Rees
b7c3742a67 Turn on unicode_literals so that this runs on python 2.7.
Copied from Perforce
 Change: 184037
 ServerID: perforce.ravenbrook.com
2014-01-17 11:10:56 +00:00
Gareth Rees
0ab15d7930 Oops, python 2.7 doesn't have open(..., encoding=).
Copied from Perforce
 Change: 184034
 ServerID: perforce.ravenbrook.com
2014-01-16 18:08:24 +00:00
Gareth Rees
c03eb1419f Make portable to python 3.3.
Copied from Perforce
 Change: 184032
 ServerID: perforce.ravenbrook.com
2014-01-16 17:07:56 +00:00
Gareth Rees
839a21d50c P4 integrate, not p4 branch.
Copied from Perforce
 Change: 184019
 ServerID: perforce.ravenbrook.com
2014-01-15 11:28:02 +00:00
Gareth Rees
47094d81c3 Missing steps (ensure branch is mapped in client; make initial commit on branch).
Copied from Perforce
 Change: 184015
 ServerID: perforce.ravenbrook.com
2014-01-15 10:19:58 +00:00
Gareth Rees
cfcbcc7d34 Fix date so that it is recognized as restructuredtext.
Copied from Perforce
 Change: 184012
 ServerID: perforce.ravenbrook.com
2014-01-14 20:20:19 +00:00
Gareth Rees
a0e9cde66a Fix history entry.
Copied from Perforce
 Change: 184011
 ServerID: perforce.ravenbrook.com
2014-01-14 20:06:10 +00:00
Gareth Rees
90311643f7 Fix cross-reference.
Copied from Perforce
 Change: 184010
 ServerID: perforce.ravenbrook.com
2014-01-14 20:04:46 +00:00
Gareth Rees
637be3f6c0 Fix cross-references.
Copied from Perforce
 Change: 184008
 ServerID: perforce.ravenbrook.com
2014-01-14 20:00:03 +00:00
Gareth Rees
659136949e Update procedures to include git-fusion steps.
Copied from Perforce
 Change: 184005
 ServerID: perforce.ravenbrook.com
2014-01-14 17:04:59 +00:00
Gareth Rees
b264bc1b5c Fix typo.
Copied from Perforce
 Change: 183987
 ServerID: perforce.ravenbrook.com
2014-01-14 10:44:17 +00:00
Gareth Rees
99420a32e8 Make procedure less error-prone by giving exact sequence of commands (where possible) based on experience of release 1.112.0.
Copied from Perforce
 Change: 183979
 ServerID: perforce.ravenbrook.com
2014-01-13 17:11:08 +00:00
Gareth Rees
be9c3c467f Merging updates preparatory to release 1.112.0.
Copied from Perforce
 Change: 183974
 ServerID: perforce.ravenbrook.com
2014-01-13 16:49:10 +00:00
Gareth Rees
11a3acf8f5 Updated files preparatory to release 1.112.0.
Copied from Perforce
 Change: 183970
 ServerID: perforce.ravenbrook.com
2014-01-13 15:04:36 +00:00
Gareth Rees
afbd394f30 Improve procedure after carrying it out.
Copied from Perforce
 Change: 183967
 ServerID: perforce.ravenbrook.com
2014-01-13 14:51:21 +00:00
Gareth Rees
01a7fdda3d Ignoring update of 'master' to 'version 1.112' from version branch
Copied from Perforce
 Change: 183966
 ServerID: perforce.ravenbrook.com
2014-01-13 14:30:45 +00:00
Gareth Rees
b92600b694 Replace [master] with [version 1.112].
Copied from Perforce
 Change: 183965
 ServerID: perforce.ravenbrook.com
2014-01-13 14:29:50 +00:00
Gareth Rees
767b667524 Branching master sources for version 1.112.
Copied from Perforce
 Change: 183963
 ServerID: perforce.ravenbrook.com
2014-01-13 14:07:12 +00:00
Gareth Rees
b9449c3066 Fix links.
Copied from Perforce
 Change: 183961
 ServerID: perforce.ravenbrook.com
2014-01-13 13:28:18 +00:00
Gareth Rees
acc6ba5d60 Improve process documents. convert tool index to restructuredtext.
Copied from Perforce
 Change: 183959
 ServerID: perforce.ravenbrook.com
2014-01-13 12:53:07 +00:00
Gareth Rees
88815b6faf Branching and merging procedures.
Copied from Perforce
 Change: 183956
 ServerID: perforce.ravenbrook.com
2014-01-12 22:38:45 +00:00
Gareth Rees
f1c066dab4 Remove obsolete file osxc.h.
Copied from Perforce
 Change: 183954
 ServerID: perforce.ravenbrook.com
2014-01-12 21:57:54 +00:00
Gareth Rees
158e4ea974 Test case libcbt.c is obsolete: mpslibcb mechanism was removed in change 179279.
Copied from Perforce
 Change: 183952
 ServerID: perforce.ravenbrook.com
2014-01-12 21:29:53 +00:00
Gareth Rees
b8f0a9195c Clarify decision to preserve/reclaim in amcreclaimnailed, avoiding ternary operator inside the if condition.
Copied from Perforce
 Change: 183948
 ServerID: perforce.ravenbrook.com
2014-01-12 11:21:21 +00:00
Gareth Rees
75e5c45a53 Remove unused (and unusable) macros arenarootring() and arenatracering().
Copied from Perforce
 Change: 183947
 ServerID: perforce.ravenbrook.com
2014-01-12 11:19:35 +00:00