On Wed, 13 Apr 2011 00:34:52 +1000 Dave Chinner [off-list ref] wrote:
On Tue, Apr 12, 2011 at 03:45:52PM +0200, Jens Axboe wrote:
Not until you
quoted
schedule() or call blk_finish_plug(), both of which are events that you
can control.
Well, not really - now taking any sleeping lock or waiting on
anything can trigger a plug flush where previously you had to
explicitly issue them. I'm not saying what we had is better, just
that there are implicit flushes with your changes that are
inherently uncontrollable...
It's not just sleeping locks - if preempt is enabled a schedule can happen at
any time - at any depth. I've seen a spin_unlock do it.
NeilBrown