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 # khugepaged tuning 20 write /sys/kernel/mm/transparent_hugepage/khugepaged/scan_sleep_millisecs 60000 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 33on property:sys.boot_completed=1 34 chmod 444 /sys/kernel/debug/page_owner 35 36 # Create mm_event trace point. 37 # For legacy devices, only mm_event is using this trace instance. 38 # Debugfs is only used in legacy devices and going to be deprecated. 39 # If others want to put more,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 64 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_info/enable 1 49 write /sys/kernel/tracing/instances/pixel/events/cma/cma_release/enable 1 50 write /sys/kernel/tracing/instances/pixel/events/chunk_heap/enable 1 51 write /sys/kernel/tracing/instances/pixel/events/dmabuf_heap/dma_buf_release/enable 1 52 write /sys/kernel/tracing/instances/pixel/events/trusty/trusty_dma_buf_put/enable 1 53 54# turns off tracing right before bugreporting to keep more traces 55on property:init.svc.dumpstatez=running 56 write /sys/kernel/tracing/instances/pixel/tracing_on 0 57 58on property:init.svc.dumpstatez=stopped 59 write /sys/kernel/tracing/instances/pixel/tracing_on 1 60 61on property:init.svc.bugreport=running 62 write /sys/kernel/tracing/instances/pixel/tracing_on 0 63 64on property:init.svc.bugreport=stopped 65 write /sys/kernel/tracing/instances/pixel/tracing_on 1 66 67on property:init.svc.bugreportd=running 68 write /sys/kernel/tracing/instances/pixel/tracing_on 0 69 70on property:init.svc.bugreportd=stopped 71 write /sys/kernel/tracing/instances/pixel/tracing_on 1 72 73# max-ram-size experiment 74service vendor.set_max_ram_size /vendor/bin/misc_writer --set-max-ram-size ${persist.device_config.vendor_system_native_boot.max_ram_size:--1} 75 disabled 76 oneshot 77 78on property:persist.device_config.vendor_system_native_boot.max_ram_size=* 79 start vendor.set_max_ram_size 80