Yes. 100 ms is just the worst case among our tests with 4k, but these
tests are limited to not much more than simultaneous sequential reads.
In my opinion, the time-slice approach of cfq is definitely better
suited than the (sector) budget approach for this type of workloads. On
the opposite end, the price of time-slices is unfairness towards, e.g.,
threads doing sequential accesses. In bfq we were mainly thinking about
file copy, ftp, video streaming and so on. I was not able to find a good
solution for both types of workloads.
BTW, there is also another possibility. The internal scheduler of bfq
may be used to schedule time-slices instead of budgets. By doing so, the
O(1) instead of O(N) delay/jitter would still be guaranteed (as it is
probably already clear, bfq is obtained from cfq by just turning slices
into budgets, and the Round Robin-like scheduling policy into a Weighted
Fair Queueuing one).
--