[PATCH, RFC] blk-mq: use a delayed work item for timeouts
Christoph Hellwig
hch at lst.de
Mon Oct 12 13:22:17 PDT 2015
On Mon, Oct 12, 2015 at 02:08:04PM -0600, Jens Axboe wrote:
>> No that's definitely fine with me, imho most error handling callbacks
>> should be in process context for ease of use in the driver.
>
> Took a closer look. The patch looks incomplete. The hot path for blk-mq is
> blk_add_timer(), looks like you left that one alone in the conversion?
Oh, damn. I had that part in my initial version that also crudely
converted the old request code and dropped a bit too much. That should
defintively do the queue_deayed_work.
> Might be easier to just leave the timer alone, and if it actually fires
> _and_ we have to do something, punt to a workqueue instead of invoking the
> timeout handler directly.
queue_delayed_work just assigns two additional fields, then sets
timer->experies and does an add_timer. So it's the generic implementation
of your above scheme. I'd much rather use the generic version if
possible instead of trying to recreate it.
More information about the Linux-nvme
mailing list