summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephane Gasparini <stephane.gasparini@linux.intel.com>2016-02-09 17:07:38 +0100
committerJens Axboe <axboe@fb.com>2016-02-09 09:27:01 -0700
commitd57d611505d911c6f9f81cd9bd6dbd293d66dd9f (patch)
treee4616ad08b32aa47a3050e42e706d20212c8955f
parent09954bad448791ef01202351d437abdd9497a804 (diff)
downloadlinux-stable-d57d611505d911c6f9f81cd9bd6dbd293d66dd9f.tar.gz
linux-stable-d57d611505d911c6f9f81cd9bd6dbd293d66dd9f.tar.bz2
linux-stable-d57d611505d911c6f9f81cd9bd6dbd293d66dd9f.zip
kernel/fs: fix I/O wait not accounted for RW O_DSYNC
When a process is doing Random Write with O_DSYNC flag the I/O wait are not accounted in the kernel (get_cpu_iowait_time_us). This is preventing the governor or the cpufreq driver to account for I/O wait and thus use the right pstate Signed-off-by: Stephane Gasparini <stephane.gasparini@linux.intel.com> Signed-off-by: Philippe Longepe <philippe.longepe@linux.intel.com> Signed-off-by: Jens Axboe <axboe@fb.com>
-rw-r--r--block/bio.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/block/bio.c b/block/bio.c
index dbabd48b1934..f53a691b6533 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -874,7 +874,7 @@ int submit_bio_wait(int rw, struct bio *bio)
bio->bi_private = &ret;
bio->bi_end_io = submit_bio_wait_endio;
submit_bio(rw, bio);
- wait_for_completion(&ret.event);
+ wait_for_completion_io(&ret.event);
return ret.error;
}