Add amm experiment.
See go/pixel-perf-amm-experiment for more info.
Bug: 365855872
Test: build/flash; set .Perf__amm_experiment=true, observe auto_migration_margins_enable value changing 1->0; set .Perf__amm_experiment="", observe the value changing 0->1
Flag: NONE controlled by Mendel instead
Change-Id: I02b98e3601a0564929acb73250e2e943664bc80a
Signed-off-by: Dmitry Skiba <dskiba@google.com>
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