On Wed, Jun 05, 2013 at 10:09:31AM +0800, Robin Dong wrote: > We want to use blkio.cgroup on high-speed device (like fusionio) for our > mysql clusters. > After testing different io-scheduler, we found that cfq is too slow and > deadline can't run on cgroup.
So why not enhance deadline to be able to be used with cgroups instead of coming up with a new scheduler? > So we developed a new io-scheduler: tpps (Tiny Parallel Proportion > Scheduler).It dispatch requests > only by using their individual weight and total weight (proportion) therefore > it's simply and efficient. Can you give more details. Do you idle? Idling kills performance. If not, then without idling how do you achieve performance differentiation. > > Test case: fusionio card, 4 cgroups, iodepth-512 > > groupname weight > test1 1000 > test2 800 > test3 600 > test4 400 > What's the workload used for this? > Use tpps, the result is: > > groupname iops avg-rt(ms) max-rt(ms) > test1 30220 16 54 > test2 28261 18 56 > test3 26333 19 69 > test4 20152 25 87 > > Use cfq, the result is: > > groupname iops avg-rt(ms) max-rt(ms) > test1 16478 30 242 > test2 13015 39 347 > test3 9300 54 371 > test4 5806 87 393 How do results look like with cfq if this is run with slice_idle=0 and quatum=128 or higher. cfqq idles on 3 things. queue (cfqq), service tree and cfq group. slice_idle will disable idling on cfqq but not no service tree. If we provide a knob for that, then idling on service tree can be disabled too and then we will be left with group idling only and then it should be much better. Thanks Vivek -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/