Disable dm-verity hash prefetching.

Prefetching appears to have a slightly negative effect on boot time, and
actually makes boot time much worse when the available dm-bufio cache
shrinks. Since we anticipate the dm-bufio cache will shrink (because of
an increasing number of APEX dm-verity targets), disable prefetching
completely.

We've run this change on Pixel 2 since August, and haven't observed any
negative effects. Boot time slightly decreased. With the increased
amount of APEXes we already have, this should now result in an even more
significant boot time decrease.

Bug: 136247322
Test: atest google/perf/boottime/boottime-test
Change-Id: Id588669af1b0b9daaf15323dccf33411e03b8633
This commit is contained in:
Martijn Coenen 2019-12-16 09:59:08 +01:00
parent 7c7d1c600e
commit 9226bb304a
1 changed files with 4 additions and 0 deletions

View File

@ -42,6 +42,10 @@ on early-init
mkdir /linkerconfig/bootstrap 0755 mkdir /linkerconfig/bootstrap 0755
mkdir /linkerconfig/default 0755 mkdir /linkerconfig/default 0755
# Disable dm-verity hash prefetching, since it doesn't help performance
# Read more in b/136247322
write /sys/module/dm_verity/parameters/prefetch_cluster 0
# Generate ld.config.txt for early executed processes # Generate ld.config.txt for early executed processes
exec -- /system/bin/linkerconfig --target /linkerconfig/bootstrap exec -- /system/bin/linkerconfig --target /linkerconfig/bootstrap
chmod 644 /linkerconfig/bootstrap/ld.config.txt chmod 644 /linkerconfig/bootstrap/ld.config.txt