[...]
Instead, what I can tell, as we have been looking into converting mmc
(which I maintains) and that is indeed a significant amount of work.
We will need to rip out all of the mmc request management, and most
likely we also need to extend the blkmq interface - as to be able to
do re-implement all the current request optimizations. We are looking
into this, but it just takes time.
It's usually as much work as you make it into, for most cases it's
pretty straight forward and usually removes more code than it adds.
Hence the end result is better for it as well - less code in a driver is
better.
From a scalability and maintenance point of view, converting to blkmq
makes perfect sense.
Although, me personally don't want to sacrifice on performance (at
least very little), just for the sake of gaining in
scalability/maintainability.
I would rather strive to adopt the blkmq framework to also suit my
needs. Then it simply do takes more time.
For example, in the mmc case we have implemented an asynchronous
request path, which greatly improves performance on some systems.
3)
While we work on scheduling in blkmq (at least for single queue
devices), it's of course important that we set high goals. Having BFQ
(and the other schedulers) in the legacy blk, provides a good
reference for what we could aim for.
Sure, but you don't need BFQ to be included in the kernel for that.
Perhaps not.
But does that mean, you expect Paolo to maintain an up to date BFQ
tree for you?
I don't expect anything. If Paolo or others want to compare with BFQ on
the legacy IO path, then they can do that however way they want. If you
(and others) want to have that reference point, it's up to you how to
accomplish that.
Do I get this right? You personally don't care about using BFQ as
reference when evolving blkmq for single queue devices?
Paolo and lots of other Linux users certainly do care about this.
Moreover, I am still trying to understand what's the big deal to why
you say no to BFQ as a legacy scheduler. Ideally it shouldn't cause
you any maintenance burden and it doesn't make the removal of the
legacy blk layer any more difficult, right?