瀏覽代碼

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>
Stephane Gasparini 10 年之前
父節點
當前提交
d57d611505
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      block/bio.c

+ 1 - 1
block/bio.c

@@ -874,7 +874,7 @@ int submit_bio_wait(int rw, struct bio *bio)
 	bio->bi_private = &ret;
 	bio->bi_private = &ret;
 	bio->bi_end_io = submit_bio_wait_endio;
 	bio->bi_end_io = submit_bio_wait_endio;
 	submit_bio(rw, bio);
 	submit_bio(rw, bio);
-	wait_for_completion(&ret.event);
+	wait_for_completion_io(&ret.event);
 
 
 	return ret.error;
 	return ret.error;
 }
 }