Re: [PATCH V3 00/11] block-throttle: add .high limit

From: Paolo Valente
Date: Wed Oct 05 2016 - 10:05:14 EST

> Il giorno 05 ott 2016, alle ore 15:12, Vivek Goyal <vgoyal@xxxxxxxxxx> ha scritto:
> On Wed, Oct 05, 2016 at 02:37:00PM +0200, Paolo Valente wrote:
> [..]
>> Anyway, to avoid going on with trying speculations and arguments, let
>> me retry with a practical proposal. BFQ is out there, free. Let's
>> just test, measure and check whether we have already a solution to
>> the problems you/we are still trying to solve in Linux.
> Hi Paolo,
> Does BFQ implementaiton scale for fast storage devices using blk-mq
> interface. We will want to make sure that locking and other overhead of
> BFQ is very minimal so that overall throughput does not suffer.

Of course BFQ needs to be modified to work in blk-mq. I'm rather sure
its overhead will then be small enough, just because I have already
collaborated to a basically equivalent port from single to multi-queue for
packet scheduling (with Luigi Rizzo and others), and our prototype can
make over 15 million scheduling decisions per second, and keep latency
low, even with tens of concurrent clients running on a multi-core,
multi-socket system.

For details, here is the paper [1], plus some slides [2].

Actually, the solution in [1] is a global scheduler, which is more
complex than the first blk-mq version of BFQ that I have in mind,
namely, partitioned scheduling, in which there should be one
independent scheduler instance per core. But this is still investigation
territory. BTW, I would really appreciate help/feedback on this task [3].



> Vivek

Paolo Valente
Dipartimento di Scienze Fisiche, Informatiche e Matematiche
Via Campi 213/B
41125 Modena - Italy