On Mon, 2009-09-28 at 17:35 +0200, Corrado Zoccolo wrote: > Great. > Can you try the attached patch (on top of 2.6.31)? > It implements the alternative approach we discussed privately in july, > and it addresses the possible latency increase that could happen with > your patch. > > To summarize for everyone, we separate sync sequential queues, sync > seeky queues and async queues in three separate RR strucutres, and > alternate servicing requests between them. > > When servicing seeky queues (the ones that are usually penalized by > cfq, for which no fairness is usually provided), we do not idle > between them, but we do idle for the last queue (the idle can be > exited when any seeky queue has requests). This allows us to allocate > disk time globally for all seeky processes, and to reduce seeky > processes latencies. > > I tested with 'konsole -e exit', while doing a sequential write with > dd, and the start up time reduced from 37s to 7s, on an old laptop > disk. I was fiddling around trying to get IDLE class to behave at least, and getting a bit frustrated. Class/priority didn't seem to make much if any difference for konsole -e exit timings, and now I know why. I saw the reference to Vivek's patch, and gave it a shot. Makes a large difference. Avg perf stat 12.82 7.19 8.49 5.76 9.32 8.7 anticipatory 16.24 175.82 154.38 228.97 147.16 144.5 noop 43.23 57.39 96.13 148.25 180.09 105.0 deadline 9.15 14.51 9.39 15.06 9.90 11.6 cfq fairness=0 dd=nice 0 12.22 9.85 12.55 9.88 15.06 11.9 cfq fairness=0 dd=nice 19 9.77 13.19 11.78 17.40 9.51 11.9 cfq fairness=0 dd=SCHED_IDLE 4.59 2.74 4.70 3.45 4.69 4.0 cfq fairness=1 dd=nice 0 3.79 4.66 2.66 5.15 3.03 3.8 cfq fairness=1 dd=nice 19 2.79 4.73 2.79 4.02 2.50 3.3 cfq fairness=1 dd=SCHED_IDLE I'll give your patch a spin as well. -Mike _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers