Hmm..., strange. We are getting different results. May be it is someconfiguration/setup issue.

How does your ioband setup looks like. Have you created at least one morecompeting ioband device? Because I think only in that case you have gotthis ad-hoc logic of waiting for the group which has not finished thetokens yet and you will end up buffering the bio in a FIFO.

If you have not already done, can you just create two partitions on yourdisk, say sda1 and sda2. Create two ioband devices with weights say 95and 5 (95% of disk for first partition and 5% for other) and then runthe above test on first ioband device.

So how does this proportional weight thing works. If I have got two iobanddevices with weight 80 and 20 and if there is no IO happening on thesecond device, first devices should get all the BW?

I will re-run my tests.

Secondly from technical point of view how do you explain the fact thatFIFO release of bio does not break the notion of CFQ priority? The momentyou buffered the bios in a single queue and started doing FIFO dispatch,you lost that notion of one bio being more important than other.

That's a different thing that in practice it might not be easily visible.