885b742bb66660947d8335e9a4f5a4eef2e45ff9 |
|
20-Jan-2016 |
doheon1.lee <doheon1.lee@lge.com> |
Changes of root storage space unmounting time on Zygote Process Zygote process forks every child process for launch the SystemServer and other applications. When child process is forked, unmount storage inherited from Zygote process is executed before it gains its own root storage space. If Zygote have no storage spaces, unmount operations not needed to get relevant permission storage space. Thus unmount is executed only once shortly before the SystemServer is forked. And the child processes do not unmount its inherited root storage space. Change-Id: I311ca7ea2c93085f42579f8cf8bdc7ef1d570a04
/frameworks/base/core/java/com/android/internal/os/Zygote.java
|
df6cb282937e5f804686ebbc952ae9f2290d93c7 |
|
29-Jan-2016 |
Tamas Berghammer <tberghammer@google.com> |
Add flag to "am start" to enable native debugging Specifying the new flag will enable several features in the runtime required by the native debugger to debug Java and C++ code at the same time. The enabled features: * Force JIT (never use the interpreter) * Debug info generation * Disbale some optimizations Change-Id: Iaf5ab649715a0c274bd1b0fc64e483705da53cd0
/frameworks/base/core/java/com/android/internal/os/Zygote.java
|
3c43b3863328e339dff90b216aed15194d129e4a |
|
11-Dec-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Special case system_server to not create the JIT code cache. Change-Id: I7d2622f560435b2b6d133b0acd2659f3410acd2e
/frameworks/base/core/java/com/android/internal/os/Zygote.java
|
9abbf45c8dcdb2e5b13b615e5138ad996fe8afa3 |
|
05-Nov-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Remove DEBUG_JIT from Zygote flags. The flag is being obsolete by the move to JIT. Change-Id: Ifb9fab7c561c7f5137aa78c34dd55c552a9505f5
/frameworks/base/core/java/com/android/internal/os/Zygote.java
|
9527b223a9d4a4d149bb005afc77148dbeeff785 |
|
25-Jun-2015 |
Jeff Sharkey <jsharkey@android.com> |
Let's reinvent storage, yet again! Now that we're treating storage as a runtime permission, we need to grant read/write access without killing the app. This is really tricky, since we had been using GIDs for access control, and they're set in stone once Zygote drops privileges. The only thing left that can change dynamically is the filesystem itself, so let's do that. This means changing the FUSE daemon to present itself as three different views: /mnt/runtime_default/foo - view for apps with no access /mnt/runtime_read/foo - view for apps with read access /mnt/runtime_write/foo - view for apps with write access There is still a single location for all the backing files, and filesystem permissions are derived the same way for each view, but the file modes are masked off differently for each mountpoint. During Zygote fork, it wires up the appropriate storage access into an isolated mount namespace based on the current app permissions. When the app is granted permissions dynamically at runtime, the system asks vold to jump into the existing mount namespace and bind mount the newly granted access model into place. Bug: 21858077 Change-Id: I62fb25d126dd815aea699b33d580e3afb90f8fd2
/frameworks/base/core/java/com/android/internal/os/Zygote.java
|
065075e1f993a68579ed7f8034ab09d96ec957a9 |
|
28-May-2015 |
David Srbecky <dsrbecky@google.com> |
Replace --include-cfi with --generate-debug-info. This follows a change in dex2oat. (cherry picked from commit f39477b592e6e17fe41ace2e18602a69b2dd1619) Bug: 21924613 Change-Id: I46b61298ca00bee2e83080456b180d63efd95b8f
/frameworks/base/core/java/com/android/internal/os/Zygote.java
|
fbb32f6440ed74a4d27eec03569520580d00da42 |
|
12-Jun-2015 |
Narayan Kamath <narayan@google.com> |
Better systrace slices for application startup. This change adds three new timeslices : - PostFork : As soon as possible after the app forks from the zygote. Can be used in conjunction with the system_server "Start proc:" event to derive an upper bound on fork() and zygote overhead. - RuntimeInit & ActivityThreadMain for ZygoteInit#runtimeInit and ActivityThread#main. ActivityThread#handleBindApplication and higher level functions are already well instrumented in systrace. handleBindApplication should occur immediately after ActivityThread#main. Note that we use the Activity manager tag to make it easier to correlate these new events with surrounding events (Start proc and handleBindApplication) that are already using the AM tag. bug: 21632700 Change-Id: Ibc01f1721f962c913f3c02a51763b6feb1eb6a4d
/frameworks/base/core/java/com/android/internal/os/Zygote.java
|
27c39f1adeaf1a653fb41a5af64ee815b8048dd6 |
|
27-Apr-2015 |
Andreas Gampe <agampe@google.com> |
am b6d14a00: resolved conflicts for merge of c29791d5 to mnc-dev-plus-aosp * commit 'b6d14a009e43a4d61ae2a4f98f6e3b914148d0a9': Frameworks/base: Add debug.gencfi property (cherry picked from commit a5b55a017a984608eacdf414bc1cbcd7615f1c13)
/frameworks/base/core/java/com/android/internal/os/Zygote.java
|
4887789e44cdb16b042a35e8ec03983213e88ac6 |
|
18-Mar-2015 |
Jeff Sharkey <jsharkey@android.com> |
Progress towards dynamic storage support. Storage devices are no longer hard-coded, and instead bubble up from whatever Disk and VolumeBase that vold uncovered, turning into sibling Java objects in MountService. We now treat vold events as the source-of-truth for state, and synchronize our state by asking vold to "reset" whenever we reconnect. We've now moved to a model where all storage devices are mounted in the root mount namespace (user boundaries protected with GIDs), so we no longer need app-to-vold path translation. This also means that zygote only needs to bind mount the user-specific /mnt/user/n/ path onto /storage/self/ to make legacy paths like /sdcard work. This grealy simplifies a lot of system code. Many parts of the platform depend on a primary storage device always being present, so we hack together a stub StorageVolume when vold doesn't have a volume ready yet. StorageVolume isn't really a volume anymore; it's the user-specific view onto a volume, so MountService now filters and builds them based on the calling user. StorageVolume is now immutable, making it easier to reason about. Environment now builds all of its paths dynamically based on active volumes. Adds utility methods to turn int types and flags into user-readable strings for debugging purposes. Remove UMS sharing support for now, since no current devices support it; MTP is the recommended solution going forward because it offers better multi-user support. Simplify unmount logic, since vold will now gladly trigger EJECTING broadcast and kill stubborn processes. Bug: 19993667 Change-Id: I9842280e61974c91bae15d764e386969aedcd338
/frameworks/base/core/java/com/android/internal/os/Zygote.java
|
7a49028aa2f25364042fae031d95f9283844e645 |
|
17-Mar-2015 |
Mathieu Chartier <mathieuc@google.com> |
Add JIT late override property Required for JIT debug property since user builds can't restart the shell. Bug: 19735273 Change-Id: I1983852e80010c344b45e0bb459de47c56adfce8
/frameworks/base/core/java/com/android/internal/os/Zygote.java
|
2eacd06bfb82b33dfcbccafbcfc0bf1218484bb5 |
|
10-Sep-2014 |
jgu21 <jinghui.gu@intel.com> |
Frameworks/base: Early init native bridge Add the app directory to the arguments for starting a process. Add a check for NeedsNativeBridge and a call to PreInitializeBridge in the native fork code. Change-Id: I0b93da93251c6b4638de786bf98cf99df07c3fc2
/frameworks/base/core/java/com/android/internal/os/Zygote.java
|
aec67dcc02362e4d2f7641c6605405b839bd1bd4 |
|
03-Sep-2014 |
Andreas Gampe <agampe@google.com> |
Frameworks/base: Add native bridge post-fork initialization Change-Id: I5a20de1cb68dd1802937b369b14c50c9c1031c67
/frameworks/base/core/java/com/android/internal/os/Zygote.java
|
860c5911a2437ab2543614e138c98553d0d4ebf7 |
|
29-Apr-2014 |
Elliott Hughes <enh@google.com> |
Move the Zygote off libcore.os and onto android.system. Change-Id: Iaa20e50b05fad355bdf15bcfdc58efc9941c400c
/frameworks/base/core/java/com/android/internal/os/Zygote.java
|
973b4663b0b5ee62006522bf4742af076096e548 |
|
31-Mar-2014 |
Narayan Kamath <narayan@google.com> |
Move zygote startup logic to the frameworks. The Zygote class is now in com.android.internal.os. It is responsible for the vast majority of work before and after the call to fork(). It calls back into the Runtime via the new dalvik.system.ZygoteHooks class to allow the Runtime to perform pre fork cleanup and post fork initialization. The native code in Zygote.cpp is a direct and straightforward port of the existing code in art. Most differences are superficial, for example : - We use C style logging (ALOGE) instead of stream based logging. - We call env->FatalError() instead of using LOG(FATAL) Change-Id: Ia101fb2af12d23894fe57e4134d2bc6d142e5059
/frameworks/base/core/java/com/android/internal/os/Zygote.java
|