• Jan Kara's avatar
    block: Reserve only one queue tag for sync IO if only 3 tags are available · a6b3f761
    Jan Kara authored
    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.
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    a6b3f761
blk-tag.c 9.81 KB