User Details
- User Since
- Mar 21 2021, 11:40 PM (104 w, 17 h)
Today
Address review comments
Move some stuff to mem_map_base.h so that it will make the use of platform MemMap easier.
Yesterday
Continue how we measure the efficiency of early-exit releaseToOS in D146312,
Sat, Mar 18
Add some number from system_server
Fri, Mar 17
The evaluation is from the same scenario as above - reboot the phone and wait for 30s, then collect all the events of calling releaseToOS.
Slightly adjust the heuristic.
The new threshold should also consider PushedBytesDelta because we don't reset it after a failed page release
Maybe we can say more about the difference between M_PURGE and M_PURGE_ALL? From the description, I'm not sure that I understand which one I should use.
Address review comment and fix a bug in keep the invariant that the TryReleaseThreshold.
It should be the minimum distance to the next page release. So if it has reached the high
density, then the next threshold will be the SmallerBlockReleasePageDelta (which we use for
mitigating thrashing)
Add releaseAndZeroPagesToOS and add more DCHECK in the base classes
Just curious, why we didn't have issue before? I thought it may be fine because it's defined as WEAK ?!
With this CL, the filtered try-marking-blocks is reduced ~1000 times (6000 vs 5000) in com.google.android.googlequicksearchbox:interactor on Android
Add ScopedTimer::ignore() to skip some scoped events
Thu, Mar 16
LGTM
Wed, Mar 15
- Rename MapReserver to ReservedMap.
- Add more comments on why ReservedMap still derives from MemMapBase
- Leave the unused functions in ReservedMap unimplemented (which were having default implementations which does nothing)
Tue, Mar 14
LGTM!
Remove the defining of MapReserver in the tests
Add unamp() and remove the use of MapPlatformData in primary64
Make getCapacity as required and add few more comments
Don't define MapReserver in allocator config
Mon, Mar 13
So far I call it RFC but it's a formal CL as well. There are still many places we can simplify. In order to make the review process easier, I'll do the simplification in coming CLs.
Fri, Mar 10
Thu, Mar 9
No conflict at all!
Wed, Mar 8
Tue, Mar 7
default init SmallerBlockReleasePageDelta as 0 because all other fields in
primary allocator are initialized as 0. Make them consistent so that we don't
need additional static initializer. Eventually, we will override it later.
Add more comment
Mon, Mar 6
Add more comments
Fri, Mar 3
Remove extra space and rebase
Address review comment
The size is determined by collecting the buffer usage from several apps and we didn't see them over 256, most of them are smaller than 100. With partial range releasing, the required buffer size is even smaller. The following is a sample with buffer size grater than 200. It's 15 out of 312 buffer usages.
Address review comment and slightly reorganize conditional branch
Rebase only
Thu, Mar 2
Fix a bug on Fuchsia, ReleaseRecorder should record the offset instead of adding the offset to the base directly.