[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Pull requests from blkfront into blkback a bit more
# HG changeset patch # User kaf24@xxxxxxxxxxxxxxxxxxxx # Node ID 8c7de61d3913ed2b463c91624b0411041158a9c2 # Parent f94923f2dd14c862b070e133132b4f240f956525 Pull requests from blkfront into blkback a bit more aggressively, to keep the scheduling pipeline filled. Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> diff -r f94923f2dd14 -r 8c7de61d3913 linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c --- a/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c Sun Dec 4 11:06:38 2005 +++ b/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c Sun Dec 4 17:20:41 2005 @@ -493,18 +493,24 @@ 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) { add_to_blkdev_list_tail(blkif); 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); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |