Merge changes Ibbed6cf9,I31b36b42 into main am: 7a61f499be
am: 8e97607666
Original change: https://android-review.googlesource.com/c/platform/build/+/3089653 Change-Id: Ic9762bce7446383dfacd3fc3ba4a6e60f6adfa11 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -34,6 +34,21 @@ PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.userspace.snapshots.enabled=true
|
||||
PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.io_uring.enabled=true
|
||||
PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.compression.xor.enabled=true
|
||||
PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.batch_writes=true
|
||||
# Low memory device configurations. If memory usage and cpu utilization is
|
||||
# a bottleneck during OTA, the below configurations can be added to a
|
||||
# device's .mk file improve performance for low mem devices. Disabling
|
||||
# ro.virtual_ab.compression.xor.enabled and ro.virtual_ab.io_uring.enabled
|
||||
# is also recommended
|
||||
#
|
||||
# PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.o_direct.enabled=true
|
||||
# PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.merge_thread_priority=19
|
||||
# PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.worker_thread_priority=0
|
||||
# PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.num_worker_threads=3
|
||||
# PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.num_merge_threads=1
|
||||
# PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.num_verify_threads=1
|
||||
# PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.cow_op_merge_size=16
|
||||
# PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.verify_threshold_size=1073741824
|
||||
# PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.verify_block_size=1048576
|
||||
|
||||
# Enabling this property, will improve OTA install time
|
||||
# but will use an additional CPU core
|
||||
|
@@ -914,12 +914,13 @@ def GenerateAbOtaPackage(target_file, output_file, source_file=None):
|
||||
# and install time performance. All OTA's with
|
||||
# both the source build and target build with VIRTUAL_AB_COW_VERSION = 3
|
||||
# can support the new format. Otherwise, fallback on older versions
|
||||
if not source_info.vabc_cow_version or not target_info.vabc_cow_version:
|
||||
logger.info("Source or Target doesn't have VABC_COW_VERSION specified, default to version 2")
|
||||
OPTIONS.vabc_cow_version = 2
|
||||
elif source_info.vabc_cow_version != target_info.vabc_cow_version:
|
||||
logger.info("Source and Target have different cow VABC_COW_VERSION specified, default to minimum version")
|
||||
OPTIONS.vabc_cow_version = min(source_info.vabc_cow_version, target_info.vabc_cow_version)
|
||||
if not OPTIONS.vabc_cow_version:
|
||||
if not source_info.vabc_cow_version or not target_info.vabc_cow_version:
|
||||
logger.info("Source or Target doesn't have VABC_COW_VERSION specified, default to version 2")
|
||||
OPTIONS.vabc_cow_version = 2
|
||||
elif source_info.vabc_cow_version != target_info.vabc_cow_version:
|
||||
logger.info("Source and Target have different cow VABC_COW_VERSION specified, default to minimum version")
|
||||
OPTIONS.vabc_cow_version = min(source_info.vabc_cow_version, target_info.vabc_cow_version)
|
||||
|
||||
# Virtual AB Compression was introduced in Androd S.
|
||||
# Later, we backported VABC to Android R. But verity support was not
|
||||
@@ -933,19 +934,20 @@ def GenerateAbOtaPackage(target_file, output_file, source_file=None):
|
||||
assert "ab_partitions" in OPTIONS.info_dict, \
|
||||
"META/ab_partitions.txt is required for ab_update."
|
||||
source_info = None
|
||||
if not target_info.vabc_cow_version:
|
||||
if not OPTIONS.vabc_cow_version:
|
||||
if not target_info.vabc_cow_version:
|
||||
OPTIONS.vabc_cow_version = 2
|
||||
elif target_info.vabc_cow_version >= "3" and target_info.vendor_api_level < 35:
|
||||
logger.warning(
|
||||
"This full OTA is configured to use VABC cow version"
|
||||
" 3 which is supported since"
|
||||
" Android API level 35, but device is "
|
||||
"launched with {} . If this full OTA is"
|
||||
" served to a device running old build, OTA might fail due to "
|
||||
"unsupported vabc cow version. For safety, version 2 is used because "
|
||||
"it's supported since day 1.".format(
|
||||
target_info.vendor_api_level))
|
||||
OPTIONS.vabc_cow_version = 2
|
||||
elif target_info.vabc_cow_version >= "3" and target_info.vendor_api_level < 35:
|
||||
logger.warning(
|
||||
"This full OTA is configured to use VABC cow version"
|
||||
" 3 which is supported since"
|
||||
" Android API level 35, but device is "
|
||||
"launched with {} . If this full OTA is"
|
||||
" served to a device running old build, OTA might fail due to "
|
||||
"unsupported vabc cow version. For safety, version 2 is used because "
|
||||
"it's supported since day 1.".format(
|
||||
target_info.vendor_api_level))
|
||||
OPTIONS.vabc_cow_version = 2
|
||||
if OPTIONS.vabc_compression_param is None and vabc_compression_param:
|
||||
minimum_api_level_required = VABC_COMPRESSION_PARAM_SUPPORT[
|
||||
vabc_compression_param]
|
||||
|
Reference in New Issue
Block a user