blob: 6fa70f66cfb340878b4fdd099a1c12c4a11582f2 [file]
# Reads data from disk in advance and populates page cache
# to speed up subsequent disk access.
#
# Record:
# start by `start prefetch_record` at appropriate timing.
# stop by setting `prefetch_boot.record_stop` to 1.
# set --duration to only capture for a certain duration instead.
#
# Replay:
# start by `start prefetch_replay` at appropriate timing.
# it will depend on several files generated from record.
#
# replay is I/O intensive. make sure you pick appropriate
# timing to run each, so that you can maximize the page cache
# hit for subsequent disk access.
#
# Example:
# on early-init && property:ro.prefetch_boot.enabled=true
# start prefetch_replay
#
# on init && property:ro.prefetch_boot.enabled=true
# start prefetch_record
#
# on property:sys.boot_completed=1 && property:ro.prefetch_boot.enabled=true
# setprop prefetch_boot.record_stop 1
service prefetch_record /system/bin/prefetch record --duration ${ro.prefetch_boot.duration_s:-0}
user root
group root system
disabled
oneshot
service prefetch_replay /system/bin/prefetch replay --io-depth ${ro.prefetch_boot.io_depth:-2} --max-fds ${ro.prefetch_boot.max_fds:-1024} --record-metrics true
user root
group root system
disabled
oneshot
service prefetch_apex_record /system/bin/prefetch record --duration ${ro.prefetch_boot.duration_s:-0} --include-mount-prefix /apex --tracing-instance prefetch_apex --build-fingerprint-path /metadata/prefetch/apex_build_fingerprint
user root
group root system
disabled
oneshot
service prefetch_apex_replay /system/bin/prefetch replay --io-depth ${ro.prefetch_boot.io_depth:-2} --max-fds ${ro.prefetch_boot.max_fds:-1024} --path /metadata/prefetch/prefetch_apex.pack --build-fingerprint-path /metadata/prefetch/apex_build_fingerprint --record-metrics true
user root
group root system
disabled
oneshot