aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/disk-io.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/disk-io.c')
-rw-r--r--fs/btrfs/disk-io.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index e826730d750f..d2d1cc87e8ad 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -1357,10 +1357,25 @@ struct btrfs_root *open_ctree(struct super_block *sb,
1357 */ 1357 */
1358 btrfs_init_workers(&fs_info->workers, fs_info->thread_pool_size); 1358 btrfs_init_workers(&fs_info->workers, fs_info->thread_pool_size);
1359 btrfs_init_workers(&fs_info->submit_workers, fs_info->thread_pool_size); 1359 btrfs_init_workers(&fs_info->submit_workers, fs_info->thread_pool_size);
1360
1361 /* a higher idle thresh on the submit workers makes it much more
1362 * likely that bios will be send down in a sane order to the
1363 * devices
1364 */
1365 fs_info->submit_workers.idle_thresh = 64;
1366
1360 btrfs_init_workers(&fs_info->fixup_workers, 1); 1367 btrfs_init_workers(&fs_info->fixup_workers, 1);
1361 btrfs_init_workers(&fs_info->endio_workers, fs_info->thread_pool_size); 1368 btrfs_init_workers(&fs_info->endio_workers, fs_info->thread_pool_size);
1362 btrfs_init_workers(&fs_info->endio_write_workers, 1369 btrfs_init_workers(&fs_info->endio_write_workers,
1363 fs_info->thread_pool_size); 1370 fs_info->thread_pool_size);
1371
1372 /*
1373 * endios are largely parallel and should have a very
1374 * low idle thresh
1375 */
1376 fs_info->endio_workers.idle_thresh = 4;
1377 fs_info->endio_write_workers.idle_thresh = 4;
1378
1364 btrfs_start_workers(&fs_info->workers, 1); 1379 btrfs_start_workers(&fs_info->workers, 1);
1365 btrfs_start_workers(&fs_info->submit_workers, 1); 1380 btrfs_start_workers(&fs_info->submit_workers, 1);
1366 btrfs_start_workers(&fs_info->fixup_workers, 1); 1381 btrfs_start_workers(&fs_info->fixup_workers, 1);