Snap for 12765415 from 81762fe2188a8d589f7c1d6c781f382088061e42 to 25Q1-release
Change-Id: I1dd5ea7669dc2329f93bd95f23c3283823bf5163
diff --git a/interrupts/init.interrupts.rc b/interrupts/init.interrupts.rc
index 9492fdc..52fcaa5 100644
--- a/interrupts/init.interrupts.rc
+++ b/interrupts/init.interrupts.rc
@@ -1,23 +1,16 @@
on init
# Create the directory for the trace instance during early init
- mkdir /sys/kernel/tracing/instances/irq_gia_google 0755 root root
+ chmod 666 /sys/kernel/tracing/instances/irq_gia_google
+ chmod 666 /sys/kernel/tracing/instances/irq_gia_google/trace
chown system system /sys/kernel/tracing/instances/irq_gia_google
chown system system /sys/kernel/tracing/instances/irq_gia_google/trace
- # Enable gia events
- write /sys/kernel/tracing/instances/irq_gia_google/events/irq_gia/enable 1
-
# There are some very high frequency IRQ events happening all the time. Tracing
# them is not absolute necessity, but a flood of them is noise for more interesting
# events that we want to capture. All these high frequency IRQs have virq < 11.
write /sys/kernel/tracing/instances/irq_gia_google/events/irq/filter "irq > 11"
- write /sys/kernel/tracing/instances/irq_gia_google/events/irq/irq_handler_entry/enable 1
- write /sys/kernel/tracing/instances/irq_gia_google/events/irq/irq_handler_exit/enable 1
# Keep the buffer size small. This size is practically enough for debug purpose.
# Having low size helps because this entire buffer gets dumped in bugreport.
# Having a large size can impact bugreport size and time it takes to pack/unpack.
write /sys/kernel/tracing/instances/irq_gia_google/buffer_size_kb 512
-
- # Go!
- write /sys/kernel/tracing/instances/irq_gia_google/tracing_on 1
diff --git a/performance/experiments/amm/Android.bp b/performance/experiments/amm/Android.bp
new file mode 100644
index 0000000..a1c2e3b
--- /dev/null
+++ b/performance/experiments/amm/Android.bp
@@ -0,0 +1,10 @@
+package {
+ default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+prebuilt_etc {
+ name: "pixel-amm-experiment.rc",
+ src: "pixel-amm-experiment.rc",
+ vendor: true,
+ sub_dir: "init",
+}
diff --git a/performance/experiments/amm/amm.mk b/performance/experiments/amm/amm.mk
new file mode 100644
index 0000000..84f2b9e
--- /dev/null
+++ b/performance/experiments/amm/amm.mk
@@ -0,0 +1 @@
+PRODUCT_PACKAGES += pixel-amm-experiment.rc
diff --git a/performance/experiments/amm/pixel-amm-experiment.rc b/performance/experiments/amm/pixel-amm-experiment.rc
new file mode 100644
index 0000000..2d724f2
--- /dev/null
+++ b/performance/experiments/amm/pixel-amm-experiment.rc
@@ -0,0 +1,21 @@
+# Activate DISABLE_AMM hint.
+service pixel-amm-experiment-activate /vendor/bin/sendhint -m DISABLE_AMM
+ disabled
+ oneshot
+
+# Deactivate DISABLE_AMM hint.
+service pixel-amm-experiment-deactivate /vendor/bin/sendhint -m DISABLE_AMM -e 0
+ disabled
+ oneshot
+
+# AMM experiment (go/pixel-perf-amm-experiment).
+on property:vendor.perf.allow_experiments=1 && \
+ property:vendor.pixel.system.phenotype.Perf__amm_experiment=true
+ setprop vendor.powerhal.amm_enabled false
+ start pixel-amm-experiment-activate
+
+# Rampdown of the experiment.
+on property:vendor.perf.allow_experiments=1 && \
+ property:vendor.pixel.system.phenotype.Perf__amm_experiment=""
+ setprop vendor.powerhal.amm_enabled ""
+ start pixel-amm-experiment-deactivate
diff --git a/performance/experiments/experiments.mk b/performance/experiments/experiments.mk
index b14b823..3fbaa52 100644
--- a/performance/experiments/experiments.mk
+++ b/performance/experiments/experiments.mk
@@ -4,3 +4,4 @@
include device/google/gs-common/performance/experiments/kswapd/kswapd.mk
include device/google/gs-common/performance/experiments/apf/apf.mk
+include device/google/gs-common/performance/experiments/amm/amm.mk
diff --git a/performance/sepolicy/proc_vendor_sched.te b/performance/sepolicy/proc_vendor_sched.te
new file mode 100644
index 0000000..dc78c75
--- /dev/null
+++ b/performance/sepolicy/proc_vendor_sched.te
@@ -0,0 +1,2 @@
+#Vendor Sched
+allow proc_vendor_sched proc:filesystem associate;