Messages in this thread |  | | Date | Wed, 13 Apr 2011 07:08:27 +1000 | From | NeilBrown <> | Subject | Re: [PATCH 05/10] block: remove per-queue plugging |
| |
On Wed, 13 Apr 2011 00:34:52 +1000 Dave Chinner <david@fromorbit.com> wrote:
> On Tue, Apr 12, 2011 at 03:45:52PM +0200, Jens Axboe wrote: > Not until you > > 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
|  |