Re: High priority tasks break SMP balancer?

From: Micah Dowty
Date: Thu Nov 15 2007 - 16:35:39 EST


On Thu, Nov 15, 2007 at 01:28:55PM -0800, Christoph Lameter wrote:
> On Thu, 15 Nov 2007, Micah Dowty wrote:
>
> > Yes, the Python test harness crashes, not the kernel. It's just
> > because on a kernel which exhibits this SMP balancer bug, within a
> > couple of test iterations I'll hit a case where cpu1 was almost
> > totally idle and the test harness divides by zero when calculating the
> > imbalance.
>
> I still have some problem understanding what you are complaining about?
> The patch that you bisected had some issues that were fixed later by
> Siddha.

On all kernels I've tested from after your patch was committed, I can
reproduce a problem where a single high-priority thread which wakes up
very frequently can artificially inflate the SMP balancer's load
average for one CPU, causing other tasks to be migrated off that
CPU. The result is that this high-priority thread (which may only use
a few percent CPU) gets an entire CPU to itself. Even if there are
several busy-looping threads running, this CPU will be mostly idle.

In the first email I CC'ed you on, I attached a test program that I've
been able to use to reproduce the issue. Feel free to ignore the
Python program- it's just a harness I was using to test for the
problem quickly during my git-bisect run. to reproduce the
problem. The relevant code is all in priosched.c.

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/