diff options
author | Stefan Behrens <sbehrens@giantdisaster.de> | 2012-02-03 11:20:04 +0100 |
---|---|---|
committer | Josef Bacik <josef@redhat.com> | 2012-05-30 10:23:43 -0400 |
commit | 3d136a1131c66f7d26fb171e4c5b0b8baacd3129 (patch) | |
tree | e09f9a755e05fc2a6e21ef87762f5f1f979320f6 /fs/btrfs/reada.c | |
parent | 5bdbeb2187a99d690b374a8c5ec9911fcbcfe739 (diff) | |
download | op-kernel-dev-3d136a1131c66f7d26fb171e4c5b0b8baacd3129.zip op-kernel-dev-3d136a1131c66f7d26fb171e4c5b0b8baacd3129.tar.gz |
Btrfs: set ioprio of scrub readahead to idle
Reduce ioprio class of scrub readahead threads to idle priority.
This setting is fixed. This priority has shown the best performance
during all measurements.
Signed-off-by: Stefan Behrens <sbehrens@giantdisaster.de>
Diffstat (limited to 'fs/btrfs/reada.c')
-rw-r--r-- | fs/btrfs/reada.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/btrfs/reada.c b/fs/btrfs/reada.c index ac5d010..48a4882 100644 --- a/fs/btrfs/reada.c +++ b/fs/btrfs/reada.c @@ -718,13 +718,18 @@ static void reada_start_machine_worker(struct btrfs_work *work) { struct reada_machine_work *rmw; struct btrfs_fs_info *fs_info; + int old_ioprio; rmw = container_of(work, struct reada_machine_work, work); fs_info = rmw->fs_info; kfree(rmw); + old_ioprio = IOPRIO_PRIO_VALUE(task_nice_ioclass(current), + task_nice_ioprio(current)); + set_task_ioprio(current, BTRFS_IOPRIO_READA); __reada_start_machine(fs_info); + set_task_ioprio(current, old_ioprio); } static void __reada_start_machine(struct btrfs_fs_info *fs_info) |