lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48FDC03B.3050708@redhat.com>
Date:	Tue, 21 Oct 2008 07:42:51 -0400
From:	Chris Snook <csnook@...hat.com>
To:	Zdenek Kabelac <zdenek.kabelac@...il.com>
CC:	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	Ingo Molnar <mingo@...hat.com>,
	Peter Zijlstra <pzijlstr@...hat.com>
Subject: Re: Scheduler on C2D CPU and latest 2.6.27 kernel

Zdenek Kabelac wrote:
> 2008/10/21 Chris Snook <csnook@...hat.com>:
>> 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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ