Re: NBD Cleanup patch and bugfix in ll_rw_blk.c

Jens Axboe
2001-03-01T13:40:12Z

On Wed, Feb 28 2001, Linus Torvalds wrote:
> >I think most of the "we want to disable plugging" behaviour stems
> >from the way task queues behave. Once somebody starts a tq_disk
> >run, the list is fried and walked one by one. Both old loop
> >and nbd drop the io_request_lock and block, possibly waiting
> >for I/O to be done (at least the loop case, don't know about
> >ndb). But this I/O won't be done just because the target plug every
> >now and then just happens to be queued behind the nbd/loop one and a new
> >tq_disk run won't start it.
>
> Ugh.
>
> How about loop/ndb intercepting the damn requests at the "elevator"
> layer - that way you see every one of them, and the actual request
> function might as well just be a no-op?

I've suggested that before, turn ndb into ndb_make_request style
driver and all of this will disappear. I'll give it a shot.

--
Jens Axboe