Re: Scheduler on C2D CPU and latest 2.6.27 kernel

From: Chris Snook
Date: Tue Oct 21 2008 - 07:42:34 EST


Zdenek Kabelac wrote:
2008/10/21 Chris Snook <csnook@xxxxxxxxxx>:
Zdenek Kabelac wrote:
Hi

Recently I'm noticing bad behavior of the CPU scheduler on my T61 (2GB,
C2D)

It looks like Linux concentrates all running tasks on one CPU and the
second cpu is sleeping.

With recent changes to DRI - glxgears went up to 840FPS but also takes
100% (with Xorg) and when I run 'while :; do true; done' loop in
parallel frame rate drops to 300FPS.

But as I have C2D CPU I would expect that there should be no such
dramatic slowdown.

Xosview shows that only one CPU is fully loaded.

Here are my .config scheduler options:

CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
# CONFIG_GROUP_SCHED is not set
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_SCHED_SMT=y
# CONFIG_SCHED_MC is not set

I've also tested SMT=n MC=y - with same result

Expected.

CONFIG_SCHED_HRTICK=y
# CONFIG_NET_SCHED is not set
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
CONFIG_SCHED_TRACER=y


Am I missing something?
You're running a loop that does nothing except create new tasks that have no
scheduling history, and then disappear before the scheduler can migrate
them.

Try running 'openssl speed' to chew up CPU. I promise you the scheduler
will behave very nicely.

Well - sorry you really shouldn't promise things you cannot guarantee.

You must be new here.

It's obviously showing exactly same problem on my box.

If you start 2 'openssl speed' tasks while glxgears is running, what happens?

And I should add that with 2.6.27-rc8 I do not experience this behavior.

Thanks. Can you bisect?

Gears are showning 80% speed - but consumes only 25%
and bash loop or openssl speed task do not influence its speed.
(as expected with 2CPU machine)

That's definitely what it should be doing with openssl speed. The bash loop isn't something we should go out of our way to optimize for, since real world apps don't behave that way, but if there's a free fix, we might as well do it.

-- Chris
--
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/