add build property for compression_factor

Compression factor, as discussed, should be a configurable build
property. This flag here will control that. From initial analysis, it
looks like 64k is a good default. go/variable-block-vabc-perf

Bug: 313962438
Test: th
Change-Id: I2bddede22655e36446e734ac1917be560b1a3a1b
This commit is contained in:
Daniel Zheng
2024-01-09 15:56:10 -08:00
parent 2fc519a568
commit 270130a025
3 changed files with 8 additions and 0 deletions

View File

@@ -6211,6 +6211,8 @@ define dump-dynamic-partitions-info
echo "virtual_ab_retrofit=true" >> $(1))
$(if $(PRODUCT_VIRTUAL_AB_COW_VERSION), \
echo "virtual_ab_cow_version=$(PRODUCT_VIRTUAL_AB_COW_VERSION)" >> $(1))
$(if $(PRODUCT_VIRTUAL_AB_COMPRESSION_FACTOR), \
echo "virtual_ab_compression_factor=$(PRODUCT_VIRTUAL_AB_COMPRESSION_FACTOR)" >> $(1))
endef
# Copy an image file to a directory and generate a block list map file from the image,

View File

@@ -447,6 +447,9 @@ _product_single_value_vars += PRODUCT_ENABLE_UFFD_GC
# specified we default to COW version 2 in update_engine for backwards compatibility
_product_single_value_vars += PRODUCT_VIRTUAL_AB_COW_VERSION
# Specifies maximum bytes to be compressed at once during ota. Options: 4096, 8192, 16384, 32768, 65536, 131072, 262144.
_product_single_value_vars += PRODUCT_VIRTUAL_AB_COMPRESSION_FACTOR
# If set, determines whether the build system checks vendor seapp contexts violations.
_product_single_value_vars += PRODUCT_CHECK_VENDOR_SEAPP_VIOLATIONS

View File

@@ -38,6 +38,9 @@ PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.batch_writes=true
# Enabling this property, will improve OTA install time
# but will use an additional CPU core
# PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.compression.threads=true
ifndef PRODUCT_VIRTUAL_AB_COMPRESSION_FACTOR
PRODUCT_VIRTUAL_AB_COMPRESSION_FACTOR := 65536
endif
PRODUCT_VIRTUAL_AB_COMPRESSION := true
PRODUCT_VIRTUAL_AB_COMPRESSION_METHOD ?= none