Re: CFQ: async queue blocks the whole system

From: Jens Axboe
Date: Fri Jun 10 2011 - 05:22:05 EST


On 2011-06-10 11:20, Vivek Goyal wrote:
> On Fri, Jun 10, 2011 at 11:02:11AM +0800, Tao Ma wrote:
>
> [..]
>>> I don't think we can give a deadline for async request, because we
>>> still want to give sync high priority. We can give async some slices,
>>> so for a workload of small number of async requests and large number
>>> sync requests, we don't starve async too much. But for a workload with
>>> large number of sync/async requests, async will be starved for sure
>>> and we can't solve this in cfq.
>> OK, so if you guys thinks a 500 seconds wait is good for an async write
>> to complete, fine, then we have to switch to deadline.
>
> I don't think that starving WRITES completely is a good idea. Especially
> given the fact that you were not able to dispatch WRITES for 500 seconds.
> This needs fixing.
>
> Its not about giving hard deadline to WRITES, but making sure we don't
> starve them completely and they also make some progress.

Agree, we need to have some sort of forward progress guarantee at least.
Starving buffered writes indefinitely is surely a BUG. And it must be a
regression from not that long ago.

Trying to catch up with this thread...

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