• Divyesh Shah's avatar
    cfq-iosched: Allow RT requests to pre-empt ongoing BE timeslice · 3a9a3f6c
    Divyesh Shah authored
    This patch adds the ability to pre-empt an ongoing BE timeslice when a RT
    request is waiting for the current timeslice to complete. This reduces the
    wait time to disk for RT requests from an upper bound of 4 (current value
    of cfq_quantum) to 1 disk request.
    
    Applied Jens' suggeested changes to avoid the rb lookup and use !cfq_class_rt()
    and retested.
    
    Latency(secs) for the RT task when doing sequential reads from 10G file.
                           | only RT | RT + BE | RT + BE + this patch
    small (512 byte) reads | 143     | 163     | 145
    large (1Mb) reads      | 142     | 158     | 146
    Signed-off-by: default avatarDivyesh Shah <dpshah@google.com>
    Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
    3a9a3f6c
cfq-iosched.c 58.3 KB