mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
Merge
This commit is contained in:
commit
f41cb4d2cc
1 file changed
+11
-5
@@ -493,12 +493,12 @@ static void make_response(blkif_t *blkif, unsigned long id,
|
||||
blk_ring->rsp_prod_pvt++;
|
||||
RING_PUSH_RESPONSES_AND_CHECK_NOTIFY(blk_ring, notify);
|
||||
|
||||
/*
|
||||
* Tail check for pending requests. Allows frontend to avoid
|
||||
* notifications if requests are already in flight (lower overheads
|
||||
* and promotes batching).
|
||||
*/
|
||||
if (blk_ring->rsp_prod_pvt == blk_ring->req_cons) {
|
||||
/*
|
||||
* Tail check for pending requests. Allows frontend to avoid
|
||||
* notifications if requests are already in flight (lower
|
||||
* overheads and promotes batching).
|
||||
*/
|
||||
int more_to_do;
|
||||
RING_FINAL_CHECK_FOR_REQUESTS(blk_ring, more_to_do);
|
||||
if (more_to_do) {
|
||||
@@ -506,6 +506,12 @@ static void make_response(blkif_t *blkif, unsigned long id,
|
||||
maybe_trigger_blkio_schedule();
|
||||
}
|
||||
}
|
||||
else if (!__on_blkdev_list(blkif)
|
||||
&& RING_HAS_UNCONSUMED_REQUESTS(blk_ring)) {
|
||||
/* Keep pulling requests as they become available... */
|
||||
add_to_blkdev_list_tail(blkif);
|
||||
maybe_trigger_blkio_schedule();
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&blkif->blk_ring_lock, flags);
|
||||
|
||||
|
||||