Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit f72860ce authored by Akilesh Kailash's avatar Akilesh Kailash
Browse files

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: default avatarAkilesh Kailash <akailash@google.com>
Change-Id: Ia6efff32898cdc6b683ca49c233ef45e8cd732e7
parent d183371c
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment