Re: SD scheduler testing hitch

From: Dmitry Adamushko
Date: Mon Apr 09 2007 - 05:20:41 EST


On 09/04/07, Mike Galbraith <efault@xxxxxx> wrote:
On Sun, 2007-04-08 at 21:34 +0300, Al Boldi wrote:
> Mike Galbraith wrote:
> > On Sat, 2007-04-07 at 19:17 +0200, Mike Galbraith wrote:
> > > I lowered the time to 500us, and ran at nice -10.. it starves tenpercent
> > > here every time. (ran as taskset -c 1 nice -n -10 ./fairtest) The
> > > starving 10% duty cycle task has trouble getting 1% CPU.
> >
> > Hmm. Playing with it some more today, it still happens, but it's not
> > very repeatable. Something is odd. I wonder if any SD using readers
> > will try it.
>
> Tried it on mainline 2.6.20.3.
> It's not easily repeatable, but it's got the same problem.

In my case, it's easily reproducible. Below is a mainline 2.6.19.

Look at both %CPU and TIME+ (sched_time).

top - 10:55:00 up 33 min, 8 users, load average: 1.07, 0.61, 0.51
Tasks: 76 total, 2 running, 74 sleeping, 0 stopped, 0 zombie
Cpu(s): 76.0% us, 0.3% sy, 0.0% ni, 23.7% id, 0.0% wa, 0.0% hi, 0.0% si
Mem: 256592k total, 251888k used, 4704k free, 46516k buffers
Swap: 272120k total, 4924k used, 267196k free, 90048k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8113 dimm 15 0 1460 436 360 R 74.4 0.2 1:43.63 fairtest_xx
8114 dimm 15 0 1460 108 32 S 0.3 0.0 0:00.15 fairtest_xx


If you take a look at my previous report, you'll also notice
"strangeness" with both cpu% and sched_time.

sched_clock() is based on "tsc" and it's available for my CPU. So
maybe something fishy is going on with accounting.

I just wonder, why it's so easily reproducible in my case for both
mainline and SD (besides a 2.6.13 mainline, but I have to re-run all
the tests letting tenp run longer for the "sched_time" to be
accumulated)...

--
Best regards,
Dmitry Adamushko
-
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/