diff options
Diffstat (limited to 'kernel/sched.c')
-rw-r--r-- | kernel/sched.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index 6244d24cafc..38d05a89e0f 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
@@ -6754,7 +6754,9 @@ void __sched io_schedule(void) | |||
6754 | 6754 | ||
6755 | delayacct_blkio_start(); | 6755 | delayacct_blkio_start(); |
6756 | atomic_inc(&rq->nr_iowait); | 6756 | atomic_inc(&rq->nr_iowait); |
6757 | current->in_iowait = 1; | ||
6757 | schedule(); | 6758 | schedule(); |
6759 | current->in_iowait = 0; | ||
6758 | atomic_dec(&rq->nr_iowait); | 6760 | atomic_dec(&rq->nr_iowait); |
6759 | delayacct_blkio_end(); | 6761 | delayacct_blkio_end(); |
6760 | } | 6762 | } |
@@ -6767,7 +6769,9 @@ long __sched io_schedule_timeout(long timeout) | |||
6767 | 6769 | ||
6768 | delayacct_blkio_start(); | 6770 | delayacct_blkio_start(); |
6769 | atomic_inc(&rq->nr_iowait); | 6771 | atomic_inc(&rq->nr_iowait); |
6772 | current->in_iowait = 1; | ||
6770 | ret = schedule_timeout(timeout); | 6773 | ret = schedule_timeout(timeout); |
6774 | current->in_iowait = 0; | ||
6771 | atomic_dec(&rq->nr_iowait); | 6775 | atomic_dec(&rq->nr_iowait); |
6772 | delayacct_blkio_end(); | 6776 | delayacct_blkio_end(); |
6773 | return ret; | 6777 | return ret; |