Thread (107 messages) 107 messages, 8 authors, 2014-07-09

Re: [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler

From: Jens Axboe <hidden>
Date: 2014-06-02 14:29:32
Also in: lkml

On 2014-05-30 23:16, Tejun Heo wrote:
quoted
for turning patch #2 into a series of changes for CFQ instead. We need to
end up with something where we can potentially bisect our way down to
whatever caused any given regression. The worst possible situation is "CFQ
works fine for this workload, but BFQ does not" or vice versa. Or hangs, or
whatever it might be.
It's likely that there will be some workloads out there which may be
affected adversely, which is true for any change really but with both
the core scheduling and heuristics properly characterized at least
finding a reasonable trade-off should be much less of a crapshoot and
the expected benefits seem to easily outweigh the risks as long as we
can properly sequence the changes.
Exactly, I think we are pretty much on the same page here. As I said in 
the previous email, the biggest thing I care about is not adding a new 
IO scheduler wholesale. If Paolo can turn the "add BFQ" patch into a 
series of patches against CFQ, then I would have no issue merging it for 
testing (and inclusion, when it's stable enough).

One thing I've neglected to bring up but have been thinking about - 
we're quickly getting to the point where the old request_fn IO path will 
become a legacy thing, mostly in maintenance mode. That isn't a problem 
for morphing bfq and cfq, but it does mean that development efforts in 
this area would be a lot better spent writing an IO scheduler that fits 
into the blk-mq framework instead.

I realize this is a tall order right now, as I haven't included any sort 
of framework for that in blk-mq yet. So what I envision happening is 
that I will write a basic deadline (ish) scheduler for blk-mq, and 
hopefully others can then pitch in and we can get the ball rolling on 
that side as well.

-- 
Jens Axboe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help