Re: [PATCH v5 1/3] block: Add support for reinsert a dispatched req

From: Jens Axboe
Date: Mon Mar 25 2013 - 08:34:21 EST


On Mon, Mar 25 2013, Tanya Brokhman wrote:
> From: Tatyana Brokhman <tlinder@xxxxxxxxxxxxxx>
>
> Add support for reinserting a dispatched request back to the
> scheduler's internal data structures.
> This capability is used by the device driver when it chooses to
> interrupt the current request transmission and execute another (more
> urgent) pending request. For example: interrupting long write in order
> to handle pending read. The device driver re-inserts the
> remaining write request back to the scheduler, to be rescheduled
> for transmission later on.
>
> Add API for verifying whether the current scheduler
> supports reinserting requests mechanism. If reinsert mechanism isn't
> supported by the scheduler, this code path will never be activated.

This is practically the exact same operation as a requeue. So why this
duplication? I also don't quite understand why an IO scheduler would
have to opt-in for this, seems like a pretty basic operation.

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/