From: Chris Mason Date: Thu, 15 Dec 2011 20:38:41 +0000 (-0500) Subject: Btrfs: unplug every once and a while X-Git-Tag: v3.2-rc6~4^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d85c8a6f1bc083279215ff6e79b7c292bf3ec905;p=profile%2Fcommon%2Fkernel-common.git Btrfs: unplug every once and a while The btrfs io submission threads can build up massive plug lists. This keeps things more reasonable so we don't hand over huge dumps of IO at once. Signed-off-by: Chris Mason --- diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index 91ea57a..f4b839f 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c @@ -295,6 +295,12 @@ loop_lock: btrfs_requeue_work(&device->work); goto done; } + /* unplug every 64 requests just for good measure */ + if (batch_run % 64 == 0) { + blk_finish_plug(&plug); + blk_start_plug(&plug); + sync_pending = 0; + } } cond_resched();