Re: [PATCH] block: Reserve only one queue tag for sync IO if only 3tags are available

From: Jens Axboe
Date: Fri Jun 28 2013 - 15:32:00 EST


On Fri, Jun 28 2013, Jan Kara wrote:
> In case a device has three tags available we still reserve two of them
> for sync IO. That leaves only a single tag for async IO such as
> writeback from flusher thread which results in poor performance.
>
> Allow async IO to consume two tags in case queue has three tag availabe
> to get a decent async write performance.
>
> This patch improves streaming write performance on a machine with such disk
> from ~21 MB/s to ~52 MB/s. Also postmark throughput in presence of
> streaming writer improves from 8 to 12 transactions per second so sync
> IO doesn't seem to be harmed in presence of heavy async writer.

That's pretty crazy! Never seen a device like that. But yes, it
obviously exists, and the 2 reserved tags doesn't work well for that. So
it's an improvement.

Thanks, will queue up for 3.11.

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