Re: [PATCH RFC - TAKE TWO - 09/12] block, bfq: reduce latency during request-pool saturation

From: Tejun Heo
Date: Sat May 31 2014 - 09:54:19 EST


On Thu, May 29, 2014 at 11:05:40AM +0200, Paolo Valente wrote:
> This patch introduces an heuristic that reduces latency when the
> I/O-request pool is saturated. This goal is achieved by disabling
> device idling, for non-weight-raised queues, when there are weight-
> raised queues with pending or in-flight requests. In fact, as
> explained in more detail in the comment to the function
> bfq_bfqq_must_not_expire(), this reduces the rate at which processes
> associated with non-weight-raised queues grab requests from the pool,
> thereby increasing the probability that processes associated with
> weight-raised queues get a request immediately (or at least soon) when
> they need one.

Wouldn't it be more straight-forward to simply control how many
requests each queue consume by returning ELV_MQUEUE_NO? Seeky ones do
benefit from larger number of requests in elevator but to only certain
number given the fifo timeout anyway and controlling that explicitly
would be a lot easier to anticipate the behavior of than playing
roulette with random request allocation failures.

Thanks.

--
tejun
--
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/