• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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