1# Reads data from disk in advance and populates page cache 2# to speed up subsequent disk access. 3# 4# Record: 5# start by `start prefetch_record` at appropriate timing. 6# stop by setting `prefetch_boot.record_stop` to 1. 7# set --duration to only capture for a certain duration instead. 8# 9# Replay: 10# start by `start prefetch_replay` at appropriate timing. 11# it will depend on several files generated from record. 12# 13# replay is I/O intensive. make sure you pick appropriate 14# timing to run each, so that you can maximize the page cache 15# hit for subsequent disk access. 16# 17# Example: 18# on early-init && property:ro.prefetch_boot.enabled=true 19# start prefetch_replay 20# 21# on init && property:ro.prefetch_boot.enabled=true 22# start prefetch_record 23# 24# on property:sys.boot_completed=1 && property:ro.prefetch_boot.enabled=true 25# setprop prefetch_boot.record_stop 1 26 27service prefetch_record /system/bin/prefetch record --duration ${ro.prefetch_boot.duration_s:-0} 28 user root 29 group root system 30 disabled 31 oneshot 32 33service prefetch_replay /system/bin/prefetch replay --io-depth ${ro.prefetch_boot.io_depth:-2} --max-fds ${ro.prefetch_boot.max_fds:-1024} 34 user root 35 group root system 36 disabled 37 oneshot 38