[PATCH RFC - TAKE TWO - 10/12] block, bfq: add Early Queue Merge (EQM)

Paolo Valente paolo.valente at unimore.it
Mon Jun 16 11:23:34 UTC 2014


Hi,

Il giorno 04/giu/2014, alle ore 15:04, Tejun Heo <tj at kernel.org> ha scritto:

> Hello,
> 
>> […]

>> The problem is not the duration of the plugging, but the fact that, if a request merge
>> succeeds for a bio, then there will be no set_request invocation for that bio.
>> Therefore, without early merging, there will be no queue merge at all.
>> 
>> If my replies are correct and convince you, then I will use them to integrate and
>> hopefully improve the documentation for this patch.
> 
> Ah, okay, so it's about missing the chance to look for cooperating
> queues when merge succeeds.  Yeah, that makes a lot more sense to me.
> If that's the case, wouldn't it be better to try finding cooperating
> queues after each merge success rather than each allow_merge()
> invocation?

If I have correctly understandood your question, then the answer is unfortunately no.

First, without any queue-merge control in allow_merge, a bio-merge attempt would
fail if the destination queue of the bio differs from the queue containing the target rq,
even if the two queues should be merged. With early queue merge, not only the two
queues are merged, but also the request-merge attempt succeeds.

Second, if the queue-merge check was executed only after a successful request merge,
then, in the case of a request-merge failure, the next chance to merge the destination queue
of the bio with some other queue would be in the next add_request. But, according to the
what we already discussed in some previous emails, waiting for the add_request is usually
too much with, e.g., the I/O generated by QEMU I/O threads.

In the end, moving queue merging to after successful request merges would most certainly
cause the throughput to drop.


>  And let's please document what we're catching with the
> extra attempts.
> 

Definitely, thanks,

Paolo

> Thanks.
> 
> -- 
> tejun


--
Paolo Valente                                                 
Algogroup
Dipartimento di Fisica, Informatica e Matematica		
Via Campi, 213/B
41125 Modena - Italy        				  
homepage:  http://algogroup.unimore.it/people/paolo/



More information about the Containers mailing list