Files
acrn-hypervisor/devicemodel
Shiqing Gao 80b1edabf5 dm: block_if: support bypassing BST_BLOCK logic
With current implementation, in blockif_dequeue/blockif_complete,
if the current request is consecutive to any request in penq or busyq,
current request's status is set to BST_BLOCK. Then, this request is blocked
until the prior request, which blocks it, is completed.
It indicates that consecutive requests are executed sequentially.

This patch adds a flag `no_bst_block` to bypass such logic because:
1. the benefit of this logic is not noticeable;
2. there is a chance that a request is enqueued in block_if_queue but
   not dequeued when this logic is triggered along with the io_uring mechanism;

Example to use this flag:
`add_virtual_device                     5 virtio-blk /dev/nvme1n1,no_bst_block`

Note:
When io_uring is enabled, the BST_BLOCK logic would be bypassed.

Tracked-On: #8612

Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
Acked-by: Wang, Yu1 <yu1.wang@intel.com>
2024-06-05 15:23:33 +08:00
..
2022-03-31 09:06:34 +08:00
2021-01-27 11:08:28 +08:00

ACRN Device Model
#################

Introduction
============

The ACRN Device Model provides **device sharing** capabilities between the
Service VM and post-launched User VMs. It is a component that is used in
conjunction with the `ACRN Hypervisor`_ and is installed within the Service
VM.

.. _`ACRN Hypervisor`: https://github.com/projectacrn/acrn-hypervisor