mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2026-01-13 19:44:06 +00:00
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>