[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Merge
# HG changeset patch # User cl349@xxxxxxxxxxxxxxxxxxxx # Node ID 64cd054aa1432b44c66e72c0c0179827aa5772a9 # Parent 2d32c7489a390084ba65ef22e22926f198185ea1 # Parent 8c7de61d3913ed2b463c91624b0411041158a9c2 Merge diff -r 2d32c7489a39 -r 64cd054aa143 linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c --- a/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c Sun Dec 4 17:17:33 2005 +++ b/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c Sun Dec 4 17:24:24 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 |