diff options
| author | 2017-02-15 10:15:12 +0000 | |
|---|---|---|
| committer | 2017-02-15 10:15:16 +0000 | |
| commit | 83e0faf2cc0b69bdba17d7a11f7deda922060e73 (patch) | |
| tree | 9d3cc287d735ba147e79c35c2f225570f1eb311d | |
| parent | 816540180f76ddd765805c1b8b905488fcd0c19b (diff) | |
| parent | b49996d8e2658ea2d62cd19d28edd70b2b22f605 (diff) | |
Merge "Zygote: Reset niceness if lazy preloading is enabled."
| -rw-r--r-- | core/java/com/android/internal/os/Zygote.java | 4 | ||||
| -rw-r--r-- | core/java/com/android/internal/os/ZygoteInit.java | 2 | ||||
| -rw-r--r-- | core/jni/com_android_internal_os_Zygote.cpp | 8 |
3 files changed, 13 insertions, 1 deletions
diff --git a/core/java/com/android/internal/os/Zygote.java b/core/java/com/android/internal/os/Zygote.java index 59416dd06cdc..fa71a628e3ca 100644 --- a/core/java/com/android/internal/os/Zygote.java +++ b/core/java/com/android/internal/os/Zygote.java @@ -173,6 +173,10 @@ public final class Zygote { VM_HOOKS.postForkChild(debugFlags, isSystemServer, instructionSet); } + /** + * Resets this process' priority to the default value (0). + */ + native static void nativeResetNicePriority(); /** * Executes "/system/bin/sh -c <command>" using the exec() system call. diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java index a72b66a6f255..1fb31b485325 100644 --- a/core/java/com/android/internal/os/ZygoteInit.java +++ b/core/java/com/android/internal/os/ZygoteInit.java @@ -712,6 +712,8 @@ public class ZygoteInit { EventLog.writeEvent(LOG_BOOT_PROGRESS_PRELOAD_END, SystemClock.uptimeMillis()); bootTimingsTraceLog.traceEnd(); // ZygotePreload + } else { + Zygote.nativeResetNicePriority(); } // Finish profiling the zygote initialization. diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp index e2fc44460dcd..c3f0e9d81944 100644 --- a/core/jni/com_android_internal_os_Zygote.cpp +++ b/core/jni/com_android_internal_os_Zygote.cpp @@ -806,6 +806,10 @@ static void com_android_internal_os_Zygote_nativeUnmountStorageOnInit(JNIEnv* en UnmountTree("/storage"); } +static void com_android_internal_os_Zygote_nativeResetNicePriority(JNIEnv* env, jclass) { + ResetNicePriority(env); +} + static const JNINativeMethod gMethods[] = { { "nativeForkAndSpecialize", "(II[II[[IILjava/lang/String;Ljava/lang/String;[I[ILjava/lang/String;Ljava/lang/String;)I", @@ -815,7 +819,9 @@ static const JNINativeMethod gMethods[] = { { "nativeAllowFileAcrossFork", "(Ljava/lang/String;)V", (void *) com_android_internal_os_Zygote_nativeAllowFileAcrossFork }, { "nativeUnmountStorageOnInit", "()V", - (void *) com_android_internal_os_Zygote_nativeUnmountStorageOnInit } + (void *) com_android_internal_os_Zygote_nativeUnmountStorageOnInit }, + { "nativeResetNicePriority", "()V", + (void *) com_android_internal_os_Zygote_nativeResetNicePriority } }; int register_com_android_internal_os_Zygote(JNIEnv* env) { |