aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile.in
diff options
context:
space:
mode:
authorJason Evans <jasone@canonware.com>2016-10-11 15:30:01 -0700
committerJason Evans <jasone@canonware.com>2016-10-11 15:30:01 -0700
commitb4b4a77848f1c726134ace82509b6adb9f8e7055 (patch)
tree7b9427d829826de0d0404baa694e229e00a73f7c /Makefile.in
parent48993ed5368506013fa1dcbc72b299409b7f5716 (diff)
downloadplatform_external_jemalloc_new-b4b4a77848f1c726134ace82509b6adb9f8e7055.tar.gz
platform_external_jemalloc_new-b4b4a77848f1c726134ace82509b6adb9f8e7055.tar.bz2
platform_external_jemalloc_new-b4b4a77848f1c726134ace82509b6adb9f8e7055.zip
Fix and simplify decay-based purging.
Simplify decay-based purging attempts to only be triggered when the epoch is advanced, rather than every time purgeable memory increases. In a correctly functioning system (not previously the case; see below), this only causes a behavior difference if during subsequent purge attempts the least recently used (LRU) purgeable memory extent is initially too large to be purged, but that memory is reused between attempts and one or more of the next LRU purgeable memory extents are small enough to be purged. In practice this is an arbitrary behavior change that is within the set of acceptable behaviors. As for the purging fix, assure that arena->decay.ndirty is recorded *after* the epoch advance and associated purging occurs. Prior to this fix, it was possible for purging during epoch advance to cause a substantially underrepresentative (arena->ndirty - arena->decay.ndirty), i.e. the number of dirty pages attributed to the current epoch was too low, and a series of unintended purges could result. This fix is also relevant in the context of the simplification described above, but the bug's impact would be limited to over-purging at epoch advances.
Diffstat (limited to 'Makefile.in')
0 files changed, 0 insertions, 0 deletions