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

Commit 4b3ade06 authored by Sandeep Dhavale's avatar Sandeep Dhavale
Browse files

libsnapshot: ublk: enable multi-queue support for Ublk



This change introduces multi-queue support for the Ublk backend in
snapuserd. This allows for parallel I/O processing, significantly
improving performance on multi-core systems.

The key changes include:
- Plumbed the number of worker threads down to the Ublk device
  creation to configure the correct number of hardware queues.
- Introduced a condition variable to synchronize the initialization
  of the Ublk device and its queues across multiple threads.
- Refactored the Ublk device initialization logic to ensure that
  control-plane operations are performed on the main thread and
  data-plane operations are performed on the worker threads. This
  ensures thread-safe and correct initialization of the underlying
  ublksrv library.

Bug: 414812023
Test: OTA on cuttlefish with ublk enabled
Test: vts_libsnapshot_test with and without ublk
Signed-off-by: default avatarSandeep Dhavale <dhavale@google.com>
Change-Id: Ide08ea770cc7edfe59e975604bc5ced1a41e3022
parent bc0de475
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment