1# Copyright (C) 2021 The Android Open-Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15on init 16 # memory reserve tuning 17 write /proc/sys/vm/min_free_kbytes 27386 18 write /proc/sys/vm/lowmem_reserve_ratio "0 0 0" 19 # disable khugepaged 20 write /sys/kernel/mm/transparent_hugepage/enabled "never" 21 22# Property from experiments - server config 23on property:persist.device_config.vendor_system_native_boot.zram_size=* 24 setprop vendor.zram.size ${persist.device_config.vendor_system_native_boot.zram_size} 25 26# Property for local test. It can overwrite the server side config 27on property:sys.boot_completed=1 && property:persist.vendor.boot.zram.size=* 28 setprop vendor.zram.size ${persist.vendor.boot.zram.size} 29 30on property:sys.boot_completed=1 31 swapon_all /vendor/etc/fstab.zram.${vendor.zram.size} 32 chmod 444 /sys/kernel/debug/page_owner 33 # Allow max_usage_kb to be reset by system processes 34 chown system system /sys/kernel/vendor_mm/gcma_heap/trusty:faceauth_rawimage_heap/max_usage_kb 35 chmod 0660 /sys/kernel/vendor_mm/gcma_heap/trusty:faceauth_rawimage_heap/max_usage_kb 36 37on property:ro.debuggable=1 && property:sys.boot_completed=1 38 # Only enable pixel mm trace point in debug builds. 39 # If others want to put more events, it should get hard review from pixel-perf-team. 40 mkdir /sys/kernel/tracing/instances/pixel 0755 system system 41 chown system system /sys/kernel/tracing/instances/pixel/trace 42 chmod 0660 /sys/kernel/tracing/instances/pixel/trace 43 chown system system /sys/kernel/tracing/instances/pixel/tracing_on 44 chmod 0660 /sys/kernel/tracing/instances/pixel/tracing_on 45 write /sys/kernel/tracing/instances/pixel/buffer_size_kb 7 46 write /sys/kernel/tracing/instances/pixel/events/cma/cma_alloc_busy_retry/enable 1 47 write /sys/kernel/tracing/instances/pixel/events/cma/cma_alloc_start/enable 1 48 write /sys/kernel/tracing/instances/pixel/events/cma/cma_alloc_finish/enable 1 49 write /sys/kernel/tracing/instances/pixel/events/cma/cma_release/enable 1 50 51# turns off tracing right before bugreporting to keep more traces 52on property:ro.debuggable=1 && property:init.svc.dumpstatez=running 53 write /sys/kernel/tracing/instances/pixel/tracing_on 0 54 55on property:ro.debuggable=1 && property:init.svc.dumpstatez=stopped 56 write /sys/kernel/tracing/instances/pixel/tracing_on 1 57 58on property:ro.debuggable=1 && property:init.svc.bugreport=running 59 write /sys/kernel/tracing/instances/pixel/tracing_on 0 60 61on property:ro.debuggable=1 && property:init.svc.bugreport=stopped 62 write /sys/kernel/tracing/instances/pixel/tracing_on 1 63 64on property:ro.debuggable=1 && property:init.svc.bugreportd=running 65 write /sys/kernel/tracing/instances/pixel/tracing_on 0 66 67on property:ro.debuggable=1 && property:init.svc.bugreportd=stopped 68 write /sys/kernel/tracing/instances/pixel/tracing_on 1 69 70# max-ram-size experiment 71service vendor.set_max_ram_size /vendor/bin/misc_writer --set-max-ram-size ${persist.device_config.vendor_system_native_boot.max_ram_size:--1} 72 disabled 73 oneshot 74 user root 75 76on property:persist.device_config.vendor_system_native_boot.max_ram_size=* 77 start vendor.set_max_ram_size 78