Ver Fonte

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 <chris.mason@oracle.com>
Chris Mason há 13 anos atrás
pai
commit
d85c8a6f1b
1 ficheiros alterados com 6 adições e 0 exclusões
  1. 6 0
      fs/btrfs/volumes.c

+ 6 - 0
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();