23 Mar, 2011

3 commits

  • Lina reported that if throttle limits are initially very high and then
    dropped, then no new bio might be dispatched for a long time. And the
    reason being that after dropping the limits we don't reset the existing
    slice and do the rate calculation with new low rate and account the bios
    dispatched at high rate. To fix it, reset the slice upon rate change.

    https://lkml.org/lkml/2011/3/10/298

    Another problem with very high limit is that we never queued the
    bio on throtl service tree. That means we kept on extending the
    group slice but never trimmed it. Fix that also by regulary
    trimming the slice even if bio is not being queued up.

    Reported-by: Lina Lu
    Signed-off-by: Vivek Goyal
    Signed-off-by: Jens Axboe

    Vivek Goyal
     
  • This change moves unaccounted_time to only be reported when
    CONFIG_DEBUG_BLK_CGROUP is true.

    Signed-off-by: Justin TerAvest
    Signed-off-by: Jens Axboe

    Justin TerAvest
     
  • Commit "Add unaccounted time to timeslice_used" changed the behavior of
    cfq_preempt_queue to set cfqq active. Vivek pointed out that other
    preemption rules might get involved, so we shouldn't manually set which
    queue is active.

    This cleans up the code to just clear the queue stats at preemption
    time.

    Signed-off-by: Justin TerAvest
    Signed-off-by: Jens Axboe

    Justin TerAvest
     

22 Mar, 2011

1 commit


21 Mar, 2011

1 commit

  • One of the disadvantages of on-stack plugging is that we potentially
    lose out on merging since all pending IO isn't always visible to
    everybody. When we flush the on-stack plugs, right now we don't do
    any checks to see if potential merge candidates could be utilized.

    Correct this by adding a new insert variant, ELEVATOR_INSERT_SORT_MERGE.
    It works just ELEVATOR_INSERT_SORT, but first checks whether we can
    merge with an existing request before doing the insertion (if we fail
    merging).

    This fixes a regression with multiple processes issuing IO that
    can be merged.

    Thanks to Shaohua Li for testing and fixing
    an accounting bug.

    Signed-off-by: Jens Axboe

    Jens Axboe
     

19 Mar, 2011

1 commit


17 Mar, 2011

7 commits


12 Mar, 2011

4 commits


10 Mar, 2011

23 commits