On Tue, Feb 10, 2015 at 10:29:36AM +0100, Peter Zijlstra wrote:
On Tue, Feb 10, 2015 at 01:50:17PM +1100, NeilBrown wrote:
quoted
On Mon, 9 Feb 2015 10:10:00 +0100 Peter Zijlstra [off-list ref] wrote:
quoted
quoted
However, when io_schedule() explicitly calls blk_flush_plug(), then
@from_schedule=false variant is used, and the unplug functions are allowed to
allocate memory and block and maybe even call mempool_alloc() which might
call io_schedule().
Note that as it stands recursively calling io_schedule() is already
broken. Things like delayacct_blkio_{start,end}() do not nest properly.