On Fri, May 01, 2015 at 07:14:10PM +0200, Christoph Hellwig wrote: > On Thu, Apr 30, 2015 at 10:45:15AM -0700, Shaohua Li wrote: > > long __sched io_schedule_timeout(long timeout) > > { > > - int old_iowait = current->in_iowait; > > struct rq *rq; > > long ret; > > > > current->in_iowait = 1; > > - if (old_iowait) > > - blk_schedule_flush_plug(current); > > - else > > - blk_flush_plug(current); > > + blk_schedule_flush_plug(current); > > > > delayacct_blkio_start(); > > rq = raw_rq(); > > atomic_inc(&rq->nr_iowait); > > ret = schedule_timeout(timeout); > > - current->in_iowait = old_iowait; > > + current->in_iowait = 0; > > Always clearing ->in_iowait is behavior change not mentioned in the > changelog. Even if it was intentional it would better be done in > a separate patch.
9cff8adeaa34b5d28 changes to use blk_schedule_flush_plug for recursive io_schedule with old_iowait for recurse detection. Since we always use blk_schedule_flush_plug now, I thought we don't need the recurse detection any more. I agree it's better to do it in another patch. Thanks, Shaohua -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/