Re: [patch] Re: scheduler oddity [bug?]

From: Mike Galbraith
Date: Mon Mar 09 2009 - 10:11:47 EST


On Mon, 2009-03-09 at 14:58 +0100, Mike Galbraith wrote:
> On Mon, 2009-03-09 at 14:46 +0100, Peter Zijlstra wrote:
> > On Mon, 2009-03-09 at 14:37 +0100, Mike Galbraith wrote:
> > > On Mon, 2009-03-09 at 14:16 +0100, Mike Galbraith wrote:
> > > > On Mon, 2009-03-09 at 12:04 +0100, Peter Zijlstra wrote:
> > > >
> > > > > OK, talked a bit with Ingo, the reason you're doing is that avg_overlap
> > > > > can easily grow stale.. I can see that happen indeed.
> > > > >
> > > > > So the 'perfect' thing would be a task-runtime decay, barring that the
> > > > > preemption thing seems a sane enough hart-beat of a task.
> > > > >
> > > > > How does the below look to you?
> > > >
> > > > Other than the fact that the test for sync reject is currently
> > > > avg_overlap > sysctl_sched_migration_cost, looks fine to me. Having it
> > > > capped at the boundary is probably the better way to go.
> > >
> > > Heh, doesn't _quite_ work though. The little bugger now hovers just
> > > under :-/
> >
> > > se.avg_overlap : 0.499993
> >
> > Right, update_avg()'s >>3 and the off-by-one you spotted.
>
> (that was with the off-by-one fixed, but..)
>
> > I recon stuff works better with a 2* added? After that I guess its
> > praying sysbench still works.. :-)
>
> Yes 2* worked fine. Mysql+oltp was my worry spot, being a very affinity
> sensitive little <bleep>, but my patchlet didn't cause any trouble, so
> this one shouldn't either. I'll do some re-test in any case, and squeak
> should anything turn up.

Squeak! Didn't even get to mysql+oltp.

marge:..local/tmp # netperf -t UDP_STREAM -l 60 -H 127.0.0.1 -- -P 15888,12384 -s 32768 -S 32768 -m 4096
UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 15888 AF_INET to 127.0.0.1 (127.0.0.1) port 12384 AF_INET
Socket Message Elapsed Messages
Size Size Time Okay Errors Throughput
bytes bytes secs # # 10^6bits/sec

65536 4096 60.00 5161103 0 2818.65
65536 60.00 5149666 2812.40

6188 root 20 0 1040 544 324 R 100 0.0 0:31.49 0 netperf
6189 root 20 0 1044 260 164 R 48 0.0 0:15.35 3 netserver

Hurt, pain, ouch, vs...

marge:..local/tmp # netperf -t UDP_STREAM -l 60 -H 127.0.0.1 -T 0,0 -- -P 15888,12384 -s 32768 -S 32768 -m 4096
UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 15888 AF_INET to 127.0.0.1 (127.0.0.1) port 12384 AF_INET : cpu bind
Socket Message Elapsed Messages
Size Size Time Okay Errors Throughput
bytes bytes secs # # 10^6bits/sec

65536 4096 60.00 8452028 0 4615.93
65536 60.00 8442945 4610.97

Drat.

-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/