Re: [PATCH v5 2/3] block: Add API for urgent request handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux