Re: High priority tasks break SMP balancer?

From: Micah Dowty
Date: Fri Nov 09 2007 - 19:11:17 EST


On Sat, Nov 10, 2007 at 12:56:07AM +0100, Cyrus Massoumi wrote:
> I tried your program on my machine (C2D, 2.6.17, O(1) scheduler).
>
> Both CPUs are 100% busy all the time. Each busy-looping thread is running
> on its own CPU. I've been watching top output for 10 minutes, the spreading
> is stable and the threads don't bounce at all.

As I said, YMMV. I haven't been able to find a single set of
parameters for the demo program which cause the problem to occur 100%
of the time on all systems.

In general, boosting the MAINTHREAD_PRIORITY even more and increasing
the WAKE_HZ should exaggerate the problem. These parameters reproduce
the problem very reliably on my system:

#define NUM_BUSY_THREADS 2
#define MAINTHREAD_PRIORITY -20
#define MAINTHREAD_WAKE_HZ 1024
#define MAINTHREAD_LOAD_PERCENT 5
#define MAINTHREAD_LOAD_CYCLES 2

It's also possible this problem doesn't occur on 2.6.17. I have only
tested this example on 2.6.23.1 and 2.6.20 so far.

Thanks,
--Micah
-
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/