Re: [patch] CFS scheduler, -v10

From: Mike Galbraith
Date: Tue May 08 2007 - 03:56:12 EST


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:

root@Homer: taskset -c 1 ./thud 5
starting 5 children
running...

root@Homer: 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/