ed43619500
due to alignment padding before. * Reorganized merging of caches a bit. Renamed MergeStore() to Merge() and moved some more functionality into it. The method also moves the pages from source to consumer, now. This is necessary, since VMAnonymousCache needs to consider both physical pages and swap pages at the same time. Before we first moved the physical pages and the swap pages later, which was broken for two reasons: (1) A swap page in the consumer cache shadows a physical page of the source cache, which we ignored. (2) A source cache's physical page that also had a swap page would lose the latter in the process when moved to the consumer cache, i.e. if the page was not marked modified, it could be stolen and its data would be lost. These changes improve the situation when building Haiku with 256 MB RAM in that jam doesn't crash anymore, but in my test the system became totally unusable after about an hour or 7000 targets (GUI froze). For some reason it didn't manage to free pages anymore although swapping heavily. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27179 a95241bf-73f2-0310-859d-f6bbb57e9c96 |
||
---|---|---|
.. | ||
build | ||
compatibility/bsd | ||
cpp | ||
glibc | ||
gnu | ||
legacy/network | ||
libs | ||
os | ||
posix | ||
private | ||
tools |