On Mon, 2007-05-07 at 18:33 +0200, Ingo Molnar wrote:
>  - complete and finetune the 'smooth load calculation' mechanism
>    (Mike Galbraith) 

Houston, we have alien artifacts.

Artifact 1:

[EMAIL PROTECTED]: taskset -c 1 ./thud 5
starting 5 children
running...

[EMAIL PROTECTED]: taskset -c 1 ./chew
pid 7551, prio   0, interval of 99984800 nsec
pid 7551, prio   0, out for    7 ms, ran for 1690 ms, load  99%
pid 7551, prio   0, out for    2 ms, ran for 1794 ms, load  99%
pid 7551, prio   0, out for    4 ms, ran for 9665 ms, load  99%
pid 7551, prio   0, out for  775 ms, ran for  379 ms, load  32% <== hurt pain 
ouch!
pid 7551, prio   0, out for   32 ms, ran for    6 ms, load  17%
pid 7551, prio   0, out for   32 ms, ran for    4 ms, load  13%
pid 7551, prio   0, out for   32 ms, ran for    4 ms, load  13%
pid 7551, prio   0, out for   32 ms, ran for    4 ms, load  13%

When thud starts, chew takes a size 14EEE latency hit if bits 1, 2 and 3
are set in sysctl_sched_load_smoothing.  Good for burst load, rotten for
interactivity if that burst load ain't X.  Start a thud 5 without the
taskset, and you'll feel the lurch.

Artifact 2:

If both bits 1 and 2 are set, and bit 3 is _not_ set, chew's out drops
to ~6ms and run drops to < 1ms.  Excessive context switching.

Computing delta_fair with smoothed load in update_curr() fixes some
things, but still breaks others.  The cost/benefit ratio isn't adding up
very favorably.  Tinkering.

Values 0x7 and 0xf should be avoided the like plague if your test load
includes bursty multiple hogs-from-hell.  Values 0x3 and 0xb are merely
context switch happy.

        -Mike

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

Reply via email to