Commit Graph

14413 Commits

Author SHA1 Message Date
Christian Wailes
db6628bb7d Merge changes I04ac8fba,Ia0a8548f
* changes:
  Autoformatter changes.
  Inclusivity cleanup of the Zygote.
2021-03-04 21:09:52 +00:00
Chris Wailes
a6f8803c85 Inclusivity cleanup of the Zygote.
Changed "whitelist" to "allowlist" in many Zygote files.

BYPASS_INCLUSIVE_LANGUAGE_REASON="compatability with vendor files"

Test: cts
Change-Id: Ia0a8548f2e254fc36a9dce7e50af8284ed0caa47
2021-03-03 14:23:32 -08:00
Abhijeet Kaur
b68c51d4c4 Merge "Removed unused mount mode constants" am: 14f35d5f2d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1605513

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I80d0c585e742f33ce90fac787f54b5c0903f070f
2021-03-02 20:59:46 +00:00
Remi NGUYEN VAN
b3bc93fbcf Merge "Move SocketUtils out of the connectivity module" am: 4eb9b18e02
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1592273

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib2d4b5574ba710eb50c438144e2b87f6c8954336
2021-03-02 19:48:26 +00:00
Abhijeet Kaur
14f35d5f2d Merge "Removed unused mount mode constants" 2021-03-02 16:37:30 +00:00
Remi NGUYEN VAN
914dca36ee Move SocketUtils out of the connectivity module
SocketUtils contains system APIs for modules to interact for sockets,
wrapping internal APIs. It should be part of the platform to keep access
to the internal APIs.

This involves splitting NetworkUtils.protectVpn to NetworkUtilsInternal,
since SocketUtils and VpnService are the only users of that method.

The @UnsupportedAppUsage NetworkUtils.protectVpn has low usage
count, and is already available through VpnService.protect.

Bug: 181512874
Test: boots, VPN working
Change-Id: I7028d334975f7536c06afac7a22200c33db707ac
2021-03-01 16:50:08 +09:00
Connor O'Brien
9267c31a1c Merge "Revert "Revert "Clear BPF data in KernelCpuUidTimeReader.removeUid()""" am: a0bbd188e4
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1602665

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I31e00f5aa8eec8fb3246a375f002820338d4572f
2021-02-27 00:27:16 +00:00
Connor O'Brien
a0bbd188e4 Merge "Revert "Revert "Clear BPF data in KernelCpuUidTimeReader.removeUid()""" 2021-02-27 00:04:47 +00:00
Evgenii Stepanov
ac811c4025 Merge "Implement memtagMode and nativeHeapZeroInit manifest attrs." am: d600f5067a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1556655

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I9c84f162736af927f6cac041f4200dc3ab2b8efa
2021-02-26 20:50:30 +00:00
Evgenii Stepanov
d600f5067a Merge "Implement memtagMode and nativeHeapZeroInit manifest attrs." 2021-02-26 20:11:10 +00:00
Zoey Chen
ce04917626 Merge "[Telephony] Implement onDataEnabled callback" am: c8057ecd1c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1608055

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Iac56b19c16cfa22f833fdff5cac79002f1030e06
2021-02-26 09:47:40 +00:00
Evgenii Stepanov
15cce113f7 Implement memtagMode and nativeHeapZeroInit manifest attrs.
memtagMode allows an app to opt in to MTE in either sync or async mode.

nativeHeapZeroInit enables automatic initialization of heap memory.

Both attributes default to off and can be specified at either
application or process level.

Bug: 135772972
Bug: 177438394
Bug: 178038272
Test: CtsTaggingHostTestCases

Change-Id: I6a481a9d2363997bf954f248d08224c79f0c2afb
Merged-In: I6a481a9d2363997bf954f248d08224c79f0c2afb
2021-02-25 23:38:33 +00:00
Zoey Chen
c9448b5efc [Telephony] Implement onDataEnabled callback
Bug: 147577230
Test: atest CtsTelephonyTestCases:PhoneStateListenerTest
Change-Id: I1b9fe50e4b805f5117fb6e03438dd0a09fbcfebc
Merged-In: I1b9fe50e4b805f5117fb6e03438dd0a09fbcfebc
2021-02-25 14:16:53 +00:00
Hans Boehm
dd81ed70c7 Merge "Add zygote native fork loop" am: 43a9a8089f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1540230

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I92e404bd6ce19df88d832127f738ec8c6305fe74
2021-02-25 00:30:09 +00:00
Todd Kennedy
0e7a0c7ba9 Merge "Add self to owners for SystemConfig.java" am: 4b6dcc5192
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1606874

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If163aef039b83e8337b21b435d7cd801b848ce2a
2021-02-25 00:27:28 +00:00
Hans Boehm
43a9a8089f Merge "Add zygote native fork loop" 2021-02-25 00:02:19 +00:00
Todd Kennedy
be58aa730b Add self to owners for SystemConfig.java
Change-Id: I812841473d390166ccfca6492ff40d3a324b5599
2021-02-24 23:43:22 +00:00
Jeff Sharkey
4df29fd76a Merge "Add OWNERS for long screenshots framework code" am: 79bed70aa2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1600453

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I916187da222fa9e100d9beb67866427b10481900
2021-02-24 20:59:35 +00:00
Jeff Sharkey
79bed70aa2 Merge "Add OWNERS for long screenshots framework code" 2021-02-24 19:42:32 +00:00
Zim
e72059c0bd Removed unused mount mode constants
Since FUSE in R, there are only 4 mount modes that are used
from IVold.aidl:

REMOUNT_MODE_NONE
REMOUNT_MODE_DEFAULT
REMOUNT_MODE_INSTALLER
REMOUNT_MODE_PASS_THROUGH
REMOUNT_MODE_ANDROID_WRITABLE

Bug: 148454884
Test: Manual
Change-Id: I62b66083f2099b429474872b6f9c7cffb9fb906d
Merged-In: I62b66083f2099b429474872b6f9c7cffb9fb906d
2021-02-24 18:27:26 +00:00
Connor O'Brien
dbcba76509 Revert "Revert "Clear BPF data in KernelCpuUidTimeReader.removeUid()""
This reverts commit 0648bad1b6.

Reason for revert: commit 0208449c3b ("Defer UID data removal until after reading is finished") has now been merged to remove the deadlock that required reverting.

Bug: 177011744
Bug: 174739872
Change-Id: I4fc120dc4410e21327700cb62900b3991ec981ec
2021-02-24 04:04:48 +00:00
Treehugger Robot
1856a9efdd Merge "Revert "Do not propogate test api access flags to Zygote."" am: 6faddabeb7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1598954

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Icd5c0eea7f0e595dc3f65ccfb20e7f6797280c0d
2021-02-24 03:00:41 +00:00
Treehugger Robot
6faddabeb7 Merge "Revert "Do not propogate test api access flags to Zygote."" 2021-02-24 02:20:37 +00:00
Treehugger Robot
7fddb382f7 Merge "Defer UID data removal until after reading is finished" am: ce2d40870e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1554529

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I96787bdcf17949de0df847c92ffe49b790225e74
2021-02-24 01:49:38 +00:00
Treehugger Robot
ce2d40870e Merge "Defer UID data removal until after reading is finished" 2021-02-23 23:08:31 +00:00
Hans Boehm
69d44b0bfd Add zygote native fork loop
Do not return to Java mode between consecutive fork operations.
This greatly reduces the Zygote overhead, since we no longer need to
stop and restart Java daemons.

By not switching back to Java mode, and being careful about what memory
we touch between forks, we also keep the Zygote heaps much more stable,
facilitating page sharing between the zygote and all its children.
Under normal operation we should no longer allocate any memory in the
zygote between forks. That applies to both the Java and C++ heap.
This makes the zygote behave much more like the mental model many
of us had assumed: It has nearly constant memory contents, which are
copy-on-right cloned at each fork. This does not apply to the initial
system server and webzygote forks, that are currently still handled
differently.

This includes

1. Add ZygoteCommandBuffer, and switch the argument parsing code to use it.
This slightly reduces allocation and enables (3).

2. Support process specialization in the child, even when the arguments
are already know, Leverages existing Usap code.

3. Add support for forking multiple child processes directly to the
ZygoteCommandBuffer data structure. This directly uses the buffer
internals, and avoids returning to Java so long as it can handle the
zygote commands it sees.

FUNCTIONALITY CHANGE:

We now limit the total size of the zygote command, rather than the
number of arguments.

Initial performance observations:

[ These are not perfect, since I'm comparing to numbers before I
started. There may have been other moving parts, but they should be
minor. ]

System-server-observed launch latency:

[Not the best metric, but easy to measure. In particular, this
does not represent a significant reduction in application launch
time.]

Based on measuring the last 10 launches in a lightly used cf AOSP
instance, the system server latency from requesting an app launch to
response with the pid (which does not require the child to execute
anything) went from an average of about 10.7(25) msecs to 6.8(9) and
7.9(16) in two tries with the CL. (The parenthetical numbers are
maxima from among the 10; the variance appears to have decreased
appreciably.)

Dirty pages:

The number of private dirty pages in the zygote itself appears to have
decreased from about 4000 to about 2200. The number of dalvik-main
private dirty pages went from about 1500 to nearly zero.

Initially ART benchmarking service claim -1.88% in PSS. But this is not
consistently repeatable.

Drive-by fix:

Call setAllowNetworkingForProcess on usap / native loop path.

Bug: 159631815
Bug: 174211442
Test: Boots AOSP
Change-Id: I90d2e381bada1b6c9857666d5e87372b6a4c1a70
2021-02-23 15:03:40 -08:00
satayev
ff8c375e95 Revert "Do not propogate test api access flags to Zygote."
This reverts commit bff33b8c31.

Reason for revert: cts tests on -user builds is broken

Change-Id: I2edf200561f839e49e067403714ea6fa65bdc978
Merged-In: I2edf200561f839e49e067403714ea6fa65bdc978
2021-02-23 04:06:39 +00:00
Mark Renouf
08b97003b3 Add OWNERS for long screenshots framework code
Change-Id: If7680b6d2124c63aa29421d5c2b717db8e5cbf1a
2021-02-22 19:53:46 -05:00
Xin Li
be473bf819 Merge ab/7061308 into stage.
Bug: 180401296
Merged-In: I4bf82035631ccff6d5a6144d6d9b1d203b076851
Change-Id: I1b5f3a672a55eaabba0f5389bab110b395553559
2021-02-21 09:39:53 -08:00
James O'Leary
2964b50d79 Add OWNERS for palette library
- dupin@ landed the folder & code in it originally
- good idea to move review off the plates of generic frameworks/base
OWNERS

Change-Id: I03a1e8ec00d5b658ee026a44038703e5b31ca52e
2021-02-19 18:04:06 +00:00
Josh Gao
3361ca6c56 Merge "Add proto tombstones to Dropbox." 2021-02-18 08:41:55 +00:00
Josh Gao
f4c51f3771 Add proto tombstones to Dropbox.
Bug: http://b/159164105
Test: treehugger
Change-Id: I9f14482f693c9645d72a93d4a966909bf797533a
2021-02-17 17:40:49 -08:00
Chris Wailes
c31c4f9b31 Cleanup of Zygote files
This CL cleans up some warnings in the ZygoteInit.java and
ZygoteServer.java files.  These warnings were mostly about unused
variables, protection class changes, and dead code.  Some changes
to code in Zygote.java and ZygoteConnection.java were needed due to
function signature changes.

Test: Built and booted image
Merged-In: I6ba33cfcb4729a75dbbd4f908f4b46110d3bb991
Change-Id: I6ba33cfcb4729a75dbbd4f908f4b46110d3bb991
2021-02-16 10:23:47 -08:00
Benjamin Franz
80bbdfd100 Merge "Add versioning to app compat framework" 2021-02-16 11:48:36 +00:00
Connor O'Brien
0208449c3b Defer UID data removal until after reading is finished
Removing UID data inside readDelta() callbacks causes deadlocks when
BPF data is used. Instead, build a list of UIDs to remove but defer
deletion until after readDelta() returns.

Bug: 177011744
Test: atest FrameworksCoreTests:com.android.internal.os.BatteryStatsCpuTimesTest
Change-Id: I41881571f6955a47186797f2d9db9c7594740c6b
Merged-In: I38e037b89e71b0cb1ba01374189ba8b7af01d632
Signed-off-by: Connor O'Brien <connoro@google.com>
2021-02-11 23:05:30 +00:00
Benjamin Franz
360d60d523 Add versioning to app compat framework
With this change, callers can set overrides for specific versions of an
app. The framework falls back to default version when the given version
doesn't have an override set.

Bug: 174043039
Test: atest FrameworksServicesTests:CompatConfigTest
Test: atest FrameworksServicesTests:PlatformCompatTest
Test: atest PlatformCompatGating
Change-Id: Ib5ff67e752a9c5ee94b6e1dd664d324ab5bf4542
2021-02-11 18:33:45 +00:00
Mitch Phillips
4d7b7a71d6 Merge "[MTE] Parse MTE sysprop in system_server" 2021-02-08 18:46:52 +00:00
Jeff Sharkey
1cf122b5a7 Merge "Add OWNERS for CPU-related files" 2021-02-08 18:31:18 +00:00
Rafal Slawik
ebc11b5899 Add OWNERS for CPU-related files
This covers files from CLs like:
- http://ag/13495669
- http://ag/13425120
- http://ag/13201721

Bug: n/a
Test: n/a
Change-Id: I7b1ba4e75c57cf53a9fe8b479b9472f627a63e82
2021-02-08 16:53:22 +00:00
Treehugger Robot
39d22680c9 Merge "Do not propogate test api access flags to Zygote." 2021-02-08 15:27:19 +00:00
Treehugger Robot
905c2570cd Merge "Fix a bug in the USAP Pool refill logic." 2021-02-07 19:52:20 +00:00
Josh Gao
ddaf564365 Merge changes I8b85d8ee,I789f41f1
* changes:
  Parse proto tombstones.
  Extract tombstone tracking to a separate service.
2021-02-05 20:11:10 +00:00
Jeff DeCew
d5e38f04bb Add People widgets to those owned by System UI Notifications team
Change-Id: I15afb8f80a3d067af522707748a5b07c015af138
2021-02-05 14:09:02 +00:00
Mitch Phillips
b8d053a815 [MTE] Parse MTE sysprop in system_server
The system server inherits the ELF note from the Zygote, but should also
be able to be overwritten by the system property. This needs to be
manually parsed.

Bug: 172365548
Test: 'adb shell setprop arm64.memtag.process.system_server 123' \
Test: ... kill the system_server, and and look in logcat for
Test  ... "Unknown memory tag level for the system server".
Test: 'adb shell setprop arm64.memtag.process.system_server sync' \
Test: ... kill the system_server, and look in logcat for
Test: ... "SetHeapTaggingLevel: tag level set to 3".

Change-Id: Icda4ff141646086ae85d751b8af9b1fe94bfd7b5
2021-02-04 15:28:07 -08:00
Artur Satayev
bff33b8c31 Do not propogate test api access flags to Zygote.
The flow has been replaced by @ChangeId ALLOW_TEST_API_ACCESS, making
old approach obsolete.

Bug: 147113465
Test: atest CameraEvictionTest#testBasicCamera2ActivityEviction
Merged-In: I0bf109fa78212d6d71ba85d25f80e27e8e7cd900
Merged-In: I0e58b6924744590afaadec6a6230aa9d552b2f6f
Change-Id: I9cf8f80abb0165d4aefbf943bade57f5e031904b
Exempt-From-Owner-Approval: cp
Bug: 178391911,147113465
(cherry picked from commit a27cd30535)
2021-02-04 17:17:44 +00:00
Bill Yi
46b48bcc66 Merge RQ1A.210205.004 to aosp-master - DO NOT MERGE
Merged-In: Icbc3c9f8e1ac8064e2e006587b4d4870d74cee2d
Merged-In: I2cb57c40fd5679dbd710396f3c69deafbac9d1c3
Change-Id: Ibfd6d85bda975aaa274be9e98e197de048d178ac
2021-02-03 17:01:38 -08:00
Josh Gao
9a8b4358d3 Extract tombstone tracking to a separate service.
In preparation for making tombstones available to apps, extract the
tombstone tracking code from BootReceiver to its own service.

Bug: http://b/159164105
Test: manual
Change-Id: I789f41f12a8be312b6e966226646c4ec4becc1aa
2021-02-03 14:08:12 -08:00
Chris Wailes
6a2b1afa6a Fix a bug in the USAP Pool refill logic.
This CL addresses a bug in the USAP Pool refill logic that could cause
refill events to be delayed indefinitely.  This would not prevent future
refill events from triggering, but could cause temporary degradation in
USAP performance.

Test: launch applications from USAP pool and inspect log
Bug: 177795408
Merged-In: I2e46eae431a1d9671d31c29b3552cd0287c66239
Change-Id: I2e46eae431a1d9671d31c29b3552cd0287c66239
2021-02-03 13:27:40 -08:00
Jeff DeCew
c879d183a8 Add core notifications team as owners of internal notification widgets.
Change-Id: Ie1a8e61f8c250340083940af866552e0d15851dd
2021-02-03 01:07:21 +00:00
Dmitri Plotnikov
1ef5d3f87e Add BATTERY_STATS_OWNERS for IBatteryStats.aidl
Change-Id: Iffb8ded9ff5edc899ab38c74ffe3ad98793ca67c
2021-02-01 23:42:59 +00:00