* Prevents users from seeing this message in recovery:
`E:recvmsg failed (No buffer space available)`
* This is caused by volume_manager (our addition in recovery) and
hiding this error does not seem to have any negative side effect.
Change-Id: I0d65796961c3036289ed13c0b8949a27b5b97ad6
* In recovery we need to be able to edit the block device
after it's been mounted.
This allows, for example, to wipe system after mounting it
Change-Id: Ie536d275643e9d6063bba789e4cd2fa2671fc8fa
Change-Id: I7822a2e133a2f326ad2d8da8f79b0064344d59bf
debuggerd: Rebrand tombstone header to LMODroid
[harryyoud]: Use new props for 15.1
[rashed]: Bah... use GetProperty
[mkbestas]: Rewrite for T
Change-Id: Idd08c2eb7e395b464b1510742bf52833f465db08
Signed-off-by: Mohammad Hasan Keramat J <ikeramat@protonmail.com>
CL aosp/2929791 removed I/O priority support to prepare for a clean
revert of the CL that migrates the blkio controller from the v1 to the
v2 cgroup hierarchy. Since there was no other reason to revert the I/O
priority CL, restore I/O priority support.
Bug: 186902601
Change-Id: I1a4053140ab55973878bfeacfb546da3c601a895
Signed-off-by: Bart Van Assche <bvanassche@google.com>
DoKillProcessGroupOnce() aim to kill all process in the same group with
initialPid. InitialPid was initially add into pgids sets when pgids defined
pgids contain main process in cgroup and pids contain subprocess in cgroup. So it need to erase subprocess in pids but its pgid not in pgids
Bug: 265338381
Change-Id: I2da7cd7cc1a4248d8c8c47fb2df782409cbb203c
Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>
Avoid the unnecessary check to optimize the performance of boot time.
Before change:
init : Command 'mount_all /vendor/etc/fstab.qcom --late' action=late-fs (/vendor/etc/init/hw/init.target.rc:105) took 1382ms and succeeded
after change:
init : Command 'mount_all /vendor/etc/fstab.qcom --late' action=late-fs (/vendor/etc/init/hw/init.target.rc:105) took 588ms and succeeded
Change-Id: I3177acae7e3080d24fd3ca52e2ad31d86fcda416
Unlike loading modules in serial, current parallel method
cannot accumlate its utilization so usage of big cpu is really
low in heterogeneous system, To make use of big core when we
load kernel modules in parallel. we boost uclamp min for
these parallel threads.
Bug: 288847187
Test: redeuce about 6~10%(30-55ms) loading time for Pixel 7
Change-Id: I55e9ee4294f93b3039d519b5716fa55d58f3d625
Signed-off-by: Chungkai Mei <chungkai@google.com>
Test: None
Bug: 295684729
Change-Id: Ib9a4f90770d062f86cba5d0e8306540e58129800
Signed-off-by: Wei Wang <wvw@google.com>
Signed-off-by: Richard Raya <rdxzv.dev@gmail.com>
The value "max_comp_streams" in the fstab file
is not taken into account, since the file is open for reading(re). It is
necessary to open the file for writing (re+).
Change-Id: Idcd45a2b019f80393c83a12d647a1c00dcd56dca
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
The differences between the v1 and v2 hierarchies are as follows:
* Different mountpoints. In Android the blkio v1 hierarchy has
/dev/blkio as top directory while the v2 hierarchy has /sys/fs/cgroup
as top directory.
* Different directory structure. In Android there are two directories in
the v1 blkio hierarchy (. and background) while in the v2 hierarchy
there is one subdirectory per process and per task.
* Different controller names. The name of the blkio controller in the v1
hierarchy is "blkio" while it is "io" in the v2 hierarchy.
* In the v1 hierarchy the NormalIoPriority policy is applied at process
creation time but that policy is not applied at process creation time
if the blkio controller exists in the v2 hierarchy.
Prepare for migration of the blkio controller to the v2 hierarchy by
adding the blkio v2 attributes in task_profiles.json. All these
attributes have been marked as optional because:
* The "io" controller does not exist in the v1 hierarchy.
* Which attributes can be applied depends on the I/O scheduler that has
been selected (CFQ, BFQ, ...).
This patch causes the following warnings to appear in the logs of
devices that mount the blkio controller in the v1 hierarchy:
W libprocessgroup: Controller io is not found
W libprocessgroup: Controller io is not found
W libprocessgroup: Controller io is not found
W libprocessgroup: SetAttribute: unknown attribute: CfqGroupIdle
W libprocessgroup: SetAttribute: unknown attribute: CfqWeight
W libprocessgroup: SetAttribute: unknown attribute: BfqWeight
This patch restores a subset of aosp/1962326 and prepares for the
migration of the blkcg controller to the cgroup v2 hierarchy.
Bug: 213617178
Change-Id: Ia7b117bc777239b416e2ac268308e634b018144d
Signed-off-by: Bart Van Assche <bvanassche@google.com>
Set ipv4 min/default/max write and read memory size and socket max send/receive memory size to values that are high enough to reach 1+Gbps over wifi and cellular. Moving forward there is no need to override them in per device init.rc or framework config file.
Bug: 213596972
Test: manual test to confirm TCP memory size is increased and wifi TCP throughput with default TCP window size can reach 700Mbps in HE80 mode.
Change-Id: I0eb644453ab44804d33e3ed21e64aaccdc8c1ecd
Signed-off-by: Juhyung Park <qkrwngud825@gmail.com>
In a previous commit bb0838b511, the gc_urgent_sleep_time for F2FS was aggressively set to 50ms to optimize GC.
This change, however, led to performance regressions on most devices, particularly of those running in 4.19+ kernels.
From our tests, the heightened CPU and I/O activity from this aggressive garbage collection setting is the likely cause.
To address this, we're revising the gc_urgent_sleep_time parameter to strike a balance between aggressive GC and device performance, taking
bb0838b511 goal into consideration.
Furthermore, the dirty writeout policy has been aligned with the latest configurations used in Pixel devices,
and cp_interval has been adjusted to surpass dirty_expire_centisecs for improved power efficiency during idle times.
Test: booted partner device, monitor performance
Change-Id: Ie4d0c870d734e915aaebcc53e64acdabac47b6dc
Signed-off-by: minaripenguin <minaripenguin@users.noreply.github.com>
When opening and closing activities in Settings, a measurably
significant amount of CPU time is spent processing and logging stats
events in statsd:
0.02% /apex/com.android.os.statsd/lib64/libstatspull.so @plt
0.01% /apex/com.android.os.statsd/bin/statsd @plt
0.01% /apex/com.android.os.statsd/bin/statsd SocketListener::runListener()
0.01% /apex/com.android.os.statsd/bin/statsd android::os::statsd::LogEvent::parseBuffer(unsigned char*, unsigned long)
0.01% /apex/com.android.os.statsd/bin/statsd android::os::statsd::LogEvent::parseAnnotations(unsigned char, int)
Over longer device uptimes with real-world usage, statsd uses a
substantial amount of total CPU time. We have no use for the stats
recorded by statsd, so disable the service entirely to save CPU in
potential hotpaths.
This is the system/core part of the change; changes to frameworks/base
are also required.
Test: simpleperf record -a; verify that statsd no longer appears in
sample hits
Change-Id: Idf6fdb0eff987169bd5f370dd72315e831a669e6
Signed-off-by: Adithya R <gh0strider.2k18.reborn@gmail.com>
We should trigger updatable process crashing only if it is really
an updatable service, which is returned by is_updatable().
Without this change, nearly all services are considered as updatable
and will trigger an apex update rollback if crashed, even when its
completely unnecessary.
Change-Id: I3cddbce48b2f043a91064569b9c4f5066368fc1e
Also set release-keys and disable `ro.debuggable`. Avoids "root"
detection in some banking-related apps whilst having the convenience
of userdebug builds, such as adb root or permissive selinux.
Avoid this in eng build to keep necessary debugging intact.
Change-Id: I78ec5abe4db8083c0e02157c0bcd1a3d99fb9a5d
* Some (poorly written?) apps are continuously detected as Z state and
killed by llkd even though they work just fine, leading to extremely
bad UX and false positive bug reports.
* llkd is disabled by default but enabled by llkd-debuggable.rc on
ro.debuggable=1. Exclude it on userdebug builds to replicate user
build behavior.
Change-Id: I8365149e7896e03e58808bbead208b8d4fca6a8c
• Few special apps also care about this alongside safetynet.
For example: Microsoft Teams and some banking apps consider
device as rooted and refuse to work.
• Considering the comment section at [1], this change is done.
Reference:
[1] - https://gerrit.aospa.co/c/AOSPA/android_build/+/20784
Change-Id: I7d838b03ea3b53806124532c772e5c8a650648da
This allows remount to gracefully mount /system when Magisk
is installed.
As a sidenote, the ro.debuggable property check can safely
be removed due to the simple fact that CPP preprocessor flag
ALLOW_ADBD_DISABLE_VERITY=1 is passed when building
userdebug/eng.
Change-Id: Ic10eccbf5d225468c3dc42f8ae3ae7c05b49a699
dm-verity's overhead is non-negligible.
As we're optimizing for performance over security, always use
"check_at_most_once".
This feature is available on kernels v4.17 and onwards and is
equivalent to CONFIG_DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED
on older kernels.
Change-Id: Ib8b13d8429ac62bb1553ae81a7175d33fdb2e471
Signed-off-by: Juhyung Park <qkrwngud825@gmail.com>
LA.QSSI.14.0.r1-14900-qssi.0
* tag 'LA.QSSI.14.0.r1-14900-qssi.0' of https://git.codelinaro.org/clo/la/platform/system/core:
set vendor.per_boot.created flag after per_boot folder created.
set vendor.per_boot.created flag after per_boot folder created.
Change-Id: I3a02f2f78d918c668b6bfb62d241e774060058f9
set ro.vendor.qti.per_boot_created flag to let clients know that
/data/per_boot folder is created.
CRs-Fixed: 3762230
Change-Id: I65024ef6003193d68ec5494ba5812222e5388fbc
Since we have switched to jemalloc (bionic).
Change-Id: Ie89f9a7be4e965abf346402084a2a2d032771d3e
Signed-off-by: Gustavo Mendes <gusttavo.me@outlook.com>
set ro.vendor.qti.per_boot_created flag to let clients know that
/data/per_boot folder is created.
CRs-Fixed: 3762230
Change-Id: I65024ef6003193d68ec5494ba5812222e5388fbc
"LA.QSSI.14.0.r1-13400-qssi.0"
* tag 'LA.QSSI.14.0.r1-13400-qssi.0' of https://git.codelinaro.org/clo/la/platform/system/core:
Add seal if ashmem-dev is backed by memfd
Change-Id: I14a1abe9b5b706ab0f45750e6de40319e7451481
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZcE5FgAKCRDorT+BmrEO
eE9rAJ0SuciajzP2CDjvUM0w1xb+c8qkoQCghgu7WtkfAAG4ByVaaAxKjhd9aiM=
=6LNR
-----END PGP SIGNATURE-----
Merge tag 'android-14.0.0_r27' of https://android.googlesource.com/platform/system/core into HEAD
Android 14.0.0 Release 27 (UQ1A.240205.004.B1)
* tag 'android-14.0.0_r27' of https://android.googlesource.com/platform/system/core:
Add seal if ashmem-dev is backed by memfd
Change-Id: I32b913d022bc9a9e85e975f64700e12e9173c62e
Signed-off-by: Cyber Knight <cyberknight755@gmail.com>
Need to seal the buffer size in align with ashmem if set to PROT_READ
only to prevent untrusted remote process to shrink the buffer size and
crash it.
Bug: 294609150
Test: build
Ignore-AOSP-First: Security
(cherry picked from commit f83c5c8fec)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:61a2897733e15a12b7aa2dfd99957e83cbe59351)
Merged-In: I9288cf30b41e84ad8d3247c204e20482912bff69
Change-Id: I9288cf30b41e84ad8d3247c204e20482912bff69
Need to seal the buffer size in align with ashmem if set to PROT_READ
only to prevent untrusted remote process to shrink the buffer size and
crash it.
Bug: 294609150
Test: build
Ignore-AOSP-First: Security
(cherry picked from commit f83c5c8fec)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:61a2897733e15a12b7aa2dfd99957e83cbe59351)
Merged-In: I9288cf30b41e84ad8d3247c204e20482912bff69
Change-Id: I9288cf30b41e84ad8d3247c204e20482912bff69