mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2025-01-08 05:45:21 +00:00
710520e9a1
This change enables vhost_user_fs to process multiple requests in parallel by scheduling them into a ThreadPool (from the Futures crate). Parallelism on a single file is limited by the nature of the operation executed on it. A recent commit replaced the Mutex that protects the File within HandleData with a RwLock, to allow some operations (at this moment, only "read" and "write") to proceed in parallel by acquiring a read lock. A more complex approach was also implemented [1], involving instrumentation through vhost_user_backend to be able to serialize completions, reducing the pressure on the vring RwLock. This strategy improved the performance on some corner cases, while making it worse on other, more common ones. This fact, in addition to it requiring wider changes through the source code, prompted me to drop it in favor of this one. [1] https://github.com/slp/cloud-hypervisor/tree/vuf_async Signed-off-by: Sergio Lopez <slp@redhat.com> |
||
---|---|---|
.. | ||
ch-remote.rs | ||
vhost_user_blk.rs | ||
vhost_user_fs.rs | ||
vhost_user_net.rs |