Re: [patch/resend] iosched: prevent aliased requests from starving other I/O

From: Jens Axboe
Date: Thu Jun 02 2011 - 15:20:34 EST


On 2011-06-02 15:19, Jeff Moyer wrote:
> Hi, Jens,
>
> If you recall, I posted an RFC patch for this back in July of last year:
> http://lkml.org/lkml/2010/7/13/279
>
> The basic problem is that a process can issue a never-ending stream of
> async direct I/Os to the same sector on a device, thus starving out
> other I/O in the system (due to the way the alias handling works in both
> cfq and deadline). The solution I proposed back then was to start
> dispatching from the fifo after a certain number of aliases had been
> dispatched. Vivek asked why we had to treat aliases differently at all,
> and I never had a good answer. So, I put together a simple patch which
> allows aliases to be added to the rb tree (it adds them to the right,
> though that doesn't matter as the order isn't guaranteed anyway). I
> think this is the preferred solution, as it doesn't break up time slices
> in CFQ or batches in deadline. I've tested it, and it does solve the
> starvation issue. Let me know what you think.

Thanks Jeff, applied to for-3.1/core

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