Re: RAID1 might_sleep() warning on 3.19-rc7

Peter Zijlstra
2015-02-13T10:27:52Z

On Fri, Feb 13, 2015 at 07:49:53PM +1100, NeilBrown wrote:
> > Like said, that will still recursive call delayacct_blkio_*() and would
> > increase nr_iowait for a second time; while arguably its still the same
> > one io-wait instance.
>
> No it doesn't. There is no "blk_flush_plug" call between the
> delayacct_blkio_*() calls.

Duh, clearly I needed to still wake up :/

> I've moved blk_flush_plug to the beginning of the function.

> I wondered if it really make sense to call blk_flush_plug with nr_iowait
> elevated and delayacct_blkio active. blk_flush_plug() could call schedule()
> for non-"io" reasons and maybe that could upset stuff???

Yeah, good question that. Lemme ponder that a bit.

> I don't really know. I'm happy with your version. I don't suppose anyone
> else is paying attention and could give a third opinion....

:-)