Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752959AbYJULme (ORCPT ); Tue, 21 Oct 2008 07:42:34 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752827AbYJULmQ (ORCPT ); Tue, 21 Oct 2008 07:42:16 -0400 Received: from mx2.redhat.com ([66.187.237.31]:42394 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752776AbYJULmP (ORCPT ); Tue, 21 Oct 2008 07:42:15 -0400 Message-ID: <48FDC03B.3050708@redhat.com> Date: Tue, 21 Oct 2008 07:42:51 -0400 From: Chris Snook User-Agent: Thunderbird 2.0.0.16 (X11/20080723) MIME-Version: 1.0 To: Zdenek Kabelac CC: Linux Kernel Mailing List , Ingo Molnar , Peter Zijlstra Subject: Re: Scheduler on C2D CPU and latest 2.6.27 kernel References: <48FDB7E7.4090007@redhat.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2489 Lines: 78 Zdenek Kabelac wrote: > 2008/10/21 Chris Snook : >> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/