diff mbox

[1/1] kernel/fs: fix I/O wait not accounted for RW O_DSYNC

Message ID 1455034058-84181-2-git-send-email-stephane.gasparini@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Stephane Gasparini Feb. 9, 2016, 4:07 p.m. UTC
From: Stephane Gasparini <stephane.gasparini@linux.intel.com>

 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>
---
 block/bio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jens Axboe Feb. 9, 2016, 4:27 p.m. UTC | #1
On 02/09/2016 09:07 AM, Stephane Gasparini wrote:
> From: Stephane Gasparini <stephane.gasparini@linux.intel.com>
>
>   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

Applied, thanks.
diff mbox

Patch

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;
 }