Re: Do not overload dispatch queue (Was: Re: IO scheduler based IOcontroller V10)

From: Mike Galbraith
Date: Sat Oct 03 2009 - 15:09:31 EST


On Sat, 2009-10-03 at 19:35 +0200, Jens Axboe wrote:
> On Sat, Oct 03 2009, Mike Galbraith wrote:
> > On Sat, 2009-10-03 at 17:14 +0200, Jens Axboe wrote:
> > > On Sat, Oct 03 2009, Mike Galbraith wrote:
> > > > On Sat, 2009-10-03 at 16:28 +0200, Jens Axboe wrote:
> > > > > On Sat, Oct 03 2009, Mike Galbraith wrote:
> > > > > > On Sat, 2009-10-03 at 09:56 -0400, Vivek Goyal wrote:
> > > > > >
> > > > > > > I have kept the overload delay period as "cfq_slice_sync" same as Mike had
> > > > > > > done. We shall have to experiment what is a good waiting perioed. Is 100ms
> > > > > > > too long if we are waiting for a request from same process which recently
> > > > > > > finished IO and we did not enable idle on it.
> > > > > > >
> > > > > > > I guess we can tweak the delay period as we move along.
> > > > > >
> > > > > > I kept the delay period very short to minimize possible damage. Without
> > > > > > the idle thing, it wasn't enough, but with, worked a treat, as does your
> > > > > > patch.
> > > > >
> > > > > Can you test the current line up of patches in for-linus? It has the
> > > > > ramp up I talked about included as well.
> > > >
> > > > Well, it hasn't hit git.kernel.org yet, it's at...
> > > >
> > > > * block-for-linus 1d22351 cfq-iosched: add a knob for desktop interactiveness
> > >
> > > It's the top three patches here, kernel.org sync sometimes takes a
> > > while...
> > >
> > > http://git.kernel.dk/?p=linux-2.6-block.git;a=shortlog;h=refs/heads/for-linus
> >
> > Ok, already had the first two in, added the last.
> >
> > Entered uncharted territory for konsole -e exit, but lost a bit of
> > throughput for home-brew concurrent git test.
> >
> > perf stat 1.70 1.94 1.32 1.89 1.87 1.7 fairness=1 overload_delay=1
> > 1.55 1.79 1.38 1.53 1.57 1.5 desktop=1 +last_end_sync
> > 1.09 0.87 1.11 0.96 1.11 1.0 block-for-linus
>
> So that's pure goodness, at least.

Yeah, but it's a double edged sword, _maybe_ cut too far in the other
direction. (impression)

> > perf stat testo.sh Avg
> > 108.12 106.33 106.34 97.00 106.52 104.8 1.000 fairness=0 overload_delay=0
> > 93.98 102.44 94.47 97.70 98.90 97.4 .929 fairness=0 overload_delay=1
> > 90.87 95.40 95.79 93.09 94.25 93.8 .895 fairness=1 overload_delay=0
> > 89.93 90.57 89.13 93.43 93.72 91.3 .871 fairness=1 overload_delay=1
> > 89.81 88.82 91.56 96.57 89.38 91.2 .870 desktop=1 +last_end_sync
> > 92.61 94.60 92.35 93.17 94.05 93.3 .890 block-for-linus
>
> Doesn't look too bad, all things considered. Apart from "stock" cfq,
> it's consistent. And being consistent is a Good Thing. Performance wise,
> it's losing out to "stock" but looks pretty competetive otherwise.

No, not bad at all, still a large win over stock.

> So far that looks like a winner. The dictator wanted good latency, he's
> getting good latency. I'll continue working on this on monday, while I'm
> waiting for delivery of the Trabant.

I'm unsure feel wise. Disk is sounding too seeky, which worries me.

-Mike

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/