• Andrew Morton's avatar
    [PATCH] AS tuning · 2d935b4d
    Andrew Morton authored
    From: Nick Piggin <piggin@cyberone.com.au>
    
    The big regression from deadline is tiobench random reads with TCQ disks,
    however it is present in -linus as well, and would have been since day 1 of
    AS, but nobody has complained too loudly.
    
    http://developer.osdl.org/judith/tiobench/4CPU/rr.html
    
    This problem is probably a distilation of what causes lower database
    throughput, because I have only ever seen it with TCQ drives, and pgbench
    and OraSim are actually getting higher throughput here with a non TCQ
    drive.
    
    That is not to say that TCQ is useless, it obviously can provide a very
    real and significant boost.  What I might do in the (near) future is get AS
    to detect TCQ and turn itself off indefinitely unless/until the a sysfs
    flag is set, and default that flag to off.
    
    This patch changes the AS tunables a bit to be more on par with deadline.  It
    lowers the threshold for random reading processes to be considered unsuitable
    for anticipation, and it slightly rearranges and comments the "cooperative
    seek distance" logic.
    
    With this patch, AS is now very competitive with deadline on the single IDE
    and SCSI (non TCQ) disks here.  In fact, I don't have any regressions
    anywhere.  Even when TCQ is on, although throughput can be lower, AS still
    has benefits because of its much better read vs write latency and general
    tendancy to keep number of outstanding tags smaller.
    2d935b4d
as-iosched.c 50.9 KB