aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2017-05-15 16:48:07 -0700
committerChristopher Ferris <cferris@google.com>2017-05-15 16:48:07 -0700
commita6f685beacaa3f8da06cb28f38bb559eac7d4dda (patch)
treea2782e01107c9a30df9b22c8dcaf08cddc3083dd
parentbe92dfd38fce4a76e623796b423ee8ddd49fd928 (diff)
downloadjemalloc-a6f685beacaa3f8da06cb28f38bb559eac7d4dda.tar.gz
Default to always purging, and then assume that people can change this value if they are willing to leave a bit of PSS hanging around. Bug: 36401135 Test: Built and booted bullhead. Test: Ran jemalloc unit tests. Test: Ran bionic unit tests. Test: Ran a test that allocated and free'd a large piece of memory, Test: and verified that after changing the parameter, the PSS Test: sticks around (decay timer set to 1), the PSS is purged (decay Test: timer set to 0). Change-Id: I7819bd8b91a1df600967fa15eebc19fa382d7ab4
-rw-r--r--include/jemalloc/internal/arena.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/include/jemalloc/internal/arena.h b/include/jemalloc/internal/arena.h
index 0792951..9e4bf04 100644
--- a/include/jemalloc/internal/arena.h
+++ b/include/jemalloc/internal/arena.h
@@ -30,13 +30,16 @@ typedef enum {
purge_mode_limit = 2
} purge_mode_t;
/* ANDROID change */
-/* Use the decay mode purge method. Do not set this value to zero, since
- * forcing a purge immediately affects performance negatively. Using a
- * small value provides a compromise between performance and extra PSS.
+/* Use the decay mode purge method.
+ * Setting this value to zero results in performance issues because it
+ * causes purges at every free. Leave the default at zero, but zygote
+ * processes will set this to one using mallopt. This allows apps which
+ * tend to be active to benefit from the extra performance, but allow system
+ * servers to free PSS while they are sitting idle.
*/
#define PURGE_DEFAULT purge_mode_decay
/* Default decay time in seconds. */
-#define DECAY_TIME_DEFAULT 1
+#define DECAY_TIME_DEFAULT 0
/* End ANDROID change */
/* Number of event ticks between time checks. */
#define DECAY_NTICKS_PER_UPDATE 1000