On Mon, Mar 25 2013, Tanya Brokhman wrote: > This patch add support in block & elevator layers for handling > urgent requests. The decision if a request is urgent or not is taken > by the scheduler. Request is marked as urgent in cmd_flags (by the > scheduler) with a new flag - REQ_URGENT. > Urgent request notification is passed to the underlying > block device driver (eMMC for example). Block device driver may decide to > interrupt the currently running low priority request to serve the new > urgent request. By doing so READ latency is greatly reduced in read&write > collision scenarios. > > Note that if the current scheduler doesn't implement the urgent request > mechanism, this code path is never activated. I really don't like this out-of-band mechanism. Lets say there is an urgent request, the IO scheduler would put that at the head of the queue. So the first time the driver fetches a request, it'll see this urgent request. A driver that has support for this, would check the head of queue everytime its request_fn was invoked. There's no need to add a elevator_is_urgent_fn() and ->notified_urgent. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html