crosvm/crosvm-fuzz
Takaya Saeki af1a48da8a devices: virtio: block: parallelize by multiple worker threads
Currently, virtio-blk does all operations serially, which makes every
operation wait for all preceding operations to complete.

This commit enables the virtio-blk device to run multiple worker threads
simultaneously. This allows the virtio-blk device to handle multiple
requests in parallel. For now, this feature is behind a runtime
command-line flag to make the feature swithable for experiments.

BUG=b:267716786
TEST=`cargo test -p devices` passes.
TEST=`tast run $DUT arc.AuthPerf.unmanaged_virtio_blk_vm` passes.
TEST=`tast run $DUT arc.AuthPerf.unmanaged_virtio_blk_vm` passes with
multiple workers enabled by hard-code change. Confirmed multiple
virtio_blk threads worked.
TEST=`crosvm run --block ...,multiple-workers=true` runs with multiple
virtio_blk threads

Change-Id: I089768afed3ea0f126c907d7ae62a1c55be1b829
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4272807
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
Commit-Queue: Takaya Saeki <takayas@chromium.org>
2023-03-03 00:23:05 +00:00
..
.gitignore
block_fuzzer.rs devices: virtio: block: parallelize by multiple worker threads 2023-03-03 00:23:05 +00:00
Cargo.toml
fs_server_fuzzer.rs
OWNERS
qcow_fuzzer.rs
usb_descriptor_fuzzer.rs
virtqueue_fuzzer.rs
zimage_fuzzer.rs