From f72860ce18e30b7167bcb4854cca7195587d8844 Mon Sep 17 00:00:00 2001 From: Akilesh Kailash Date: Tue, 8 Feb 2022 19:55:39 +0000 Subject: [PATCH] Enable io_uring feature for virtual A/B OTA snapuserd: Use io_uring READ/WRITE opcodes for snapshot merge. Specifically, it is used only for readahead and ordered ops code path. Snapshot merge perf: =========================================================== Incremental OTA of 300M between two git_master branches on Pixel 6: =========================================================== On Android S (with dm-snapshot): ~15 minutes: update_engine: [INFO:cleanup_previous_update_action.cc(330)] Merge finished with state MergeCompleted. update_engine: [INFO:cleanup_previous_update_action.cc(130)] Stopping/suspending/completing CleanupPreviousUpdateAction update_engine: [INFO:cleanup_previous_update_action.cc(501)] Reporting merge stats: MergeCompleted in 926508ms (resumed 0 times), using 0 bytes of COW image. =========================================================== On Android T (with io_uring: ~38 seconds): update_engine: [INFO:cleanup_previous_update_action.cc(330)] Merge finished with state MergeCompleted. update_engine: [INFO:cleanup_previous_update_action.cc(130)] Stopping/suspending/completing CleanupPreviousUpdateAction update_engine: [INFO:cleanup_previous_update_action.cc(501)] Reporting merge stats: MergeCompleted in 38868ms (resumed 0 times), using 0 bytes of COW image. =========================================================== Bug: 202784286 Test: Full/Incremental OTA Signed-off-by: Akilesh Kailash Change-Id: Ia6efff32898cdc6b683ca49c233ef45e8cd732e7 --- target/product/virtual_ab_ota/compression.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/target/product/virtual_ab_ota/compression.mk b/target/product/virtual_ab_ota/compression.mk index 88c58b87a0..d5bd2a5395 100644 --- a/target/product/virtual_ab_ota/compression.mk +++ b/target/product/virtual_ab_ota/compression.mk @@ -18,6 +18,7 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/launch_with_ven PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.compression.enabled=true PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.userspace.snapshots.enabled=true +PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.io_uring.enabled=true PRODUCT_VIRTUAL_AB_COMPRESSION := true PRODUCT_PACKAGES += \ snapuserd.vendor_ramdisk \