Skip to content
  • Jens Axboe's avatar
    block: relax when to modify the timeout timer · f793aa53
    Jens Axboe authored
    
    
    Since we are now, by default, applying timer slack to expiry times,
    the logic for when to modify a timer in the block code is suboptimal.
    The block layer keeps a forward rolling timer per queue for all
    requests, and modifies this timer if a request has a shorter timeout
    than what the current expiry time is. However, this breaks down
    when our rounded timer values get applied slack. Then each new
    request ends up modifying the timer, since we're still a little
    in front of the timer + slack.
    
    Fix this by allowing a tolerance of HZ / 2, the timeout handling
    doesn't need to be very precise. This drastically cuts down
    the number of timer modifications we have to make.
    
    Signed-off-by: default avatarJens Axboe <axboe@fb.com>
    f793aa53