Snap for 12755599 from 4250b91047 to 25Q1-release

Change-Id: Ife06b0d41b2367ecc7ecaa3738b4c5adf81510ab
This commit is contained in:
Android Build Coastguard Worker 2024-12-06 00:03:10 +00:00
commit 71c2b6331f
13 changed files with 107 additions and 1 deletions

View file

@ -13,6 +13,11 @@ PRODUCT_COPY_FILES += \
device/google/gs-common/aoc/conf/init.aoc.daemon.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.aoc.rc
endif
ifneq ($(wildcard vendor/google/whitechapel/aoc/aocx/aidl/aocx/framework_compatibility_matrix.xml),)
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += \
vendor/google/whitechapel/aoc/aocx/aidl/aocx/framework_compatibility_matrix.xml
endif
# AoC debug support
PRODUCT_PACKAGES_DEBUG += \
aocdump \

View file

@ -1 +1 @@
aocx.IAocx u:object_r:aocx:s0
aocx.IAocx/default u:object_r:aocx:s0

View file

@ -0,0 +1,10 @@
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
sh_binary {
name: "pixel-experiments-recovery.sh",
src: "pixel-experiments-recovery.sh",
vendor: true,
init_rc: ["pixel-experiments-recovery.rc"],
}

View file

@ -0,0 +1,5 @@
BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/performance/experiments/sepolicy
PRODUCT_PACKAGES += pixel-experiments-recovery.sh
include device/google/gs-common/performance/experiments/kswapd/kswapd.mk

View file

@ -0,0 +1,10 @@
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
prebuilt_etc {
name: "pixel-kswapd-experiment.rc",
src: "pixel-kswapd-experiment.rc",
vendor: true,
sub_dir: "init",
}

View file

@ -0,0 +1 @@
PRODUCT_PACKAGES += pixel-kswapd-experiment.rc

View file

@ -0,0 +1,28 @@
# Kswapd experiment - allow kswapd to run on all cores. We only target zuma and
# zumapro because these are the only platforms where kswapd avoids big cores by
# default.
on property:vendor.perf.allow_experiments=1 \
&& property:ro.board.platform=zuma \
&& property:vendor.pixel.system.phenotype.Perf__kswapd_experiment=true
write /sys/kernel/vendor_mm/kswapd_cpu_affinity 1ff
on property:vendor.perf.allow_experiments=1 \
&& property:ro.board.platform=zumapro \
&& property:vendor.pixel.system.phenotype.Perf__kswapd_experiment=true
write /sys/kernel/vendor_mm/kswapd_cpu_affinity ff
# Kswapd experiment rampdown - restore CPU affinity to the default.
on property:vendor.perf.allow_experiments=1 \
&& property:ro.board.platform=zuma \
&& property:vendor.pixel.system.phenotype.Perf__kswapd_experiment=""
# Value is from device/google/zuma/conf/init.zuma.rc
write /sys/kernel/vendor_mm/kswapd_cpu_affinity ff
on property:vendor.perf.allow_experiments=1 \
&& property:ro.board.platform=zumapro \
&& property:vendor.pixel.system.phenotype.Perf__kswapd_experiment=""
# Value is from device/google/zumapro/conf/init.zumapro.soc.rc
write /sys/kernel/vendor_mm/kswapd_cpu_affinity 7f

View file

@ -0,0 +1,17 @@
# pixel-experiments-recovery.sh waits Perf__experiments_delay_seconds and sets
# vendor.perf.allow_experiments=1, triggering experiments.
service pixel-experiments-recovery /vendor/bin/pixel-experiments-recovery.sh \
${vendor.pixel.system.phenotype.Perf__experiments_delay_seconds}
class main
user root
group root system
oneshot
disabled
# vendor.pixel.system.phenotype.Perf__xxx properties are set sometime after the
# device is unlocked for the first time. The check for sys.boot_completed is not
# strictly needed, but will prevent surprises if for some reason the property
# is set early.
on property:sys.boot_completed=1 && \
property:vendor.pixel.system.phenotype.Perf__experiments_delay_seconds=*
restart pixel-experiments-recovery

View file

@ -0,0 +1,15 @@
#!/vendor/bin/sh
# This script delays experiments by the specified amount of seconds. The delay is not needed for
# the normal operation, but becomes essential for the rare case (which "should not happen") where
# an experiment causes really bad issues (e.g. crashes the kernel). In such case the delay gives
# GMSCore an opportunity to fetch fresh experiments snapshot (with the bad experiment disabled).
#
# See go/pixel-perf-experiment-whatif for more info.
delay_seconds="$1"
if [ -n "$delay_seconds" ]; then
sleep "$delay_seconds"
/vendor/bin/setprop vendor.perf.allow_experiments 1
fi

View file

@ -0,0 +1 @@
/vendor/bin/pixel-experiments-recovery\.sh u:object_r:pixel-experiments-recovery-sh_exec:s0

View file

@ -0,0 +1,10 @@
# Rules for pixel-experiments-recovery.sh
type pixel-experiments-recovery-sh, domain;
type pixel-experiments-recovery-sh_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(pixel-experiments-recovery-sh)
# Allow "setprop vendor.perf.allow_experiments".
allow pixel-experiments-recovery-sh vendor_toolbox_exec:file { execute_no_trans };
set_prop(pixel-experiments-recovery-sh, vendor_perf_allow_experiments_prop)

View file

@ -0,0 +1,3 @@
# Properties shared between experiments.
vendor_internal_prop(vendor_perf_allow_experiments_prop)

View file

@ -0,0 +1 @@
vendor.perf.allow_experiments u:object_r:vendor_perf_allow_experiments_prop:s0