All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Snook <csnook@redhat.com>
To: Zdenek Kabelac <zdenek.kabelac@gmail.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@redhat.com>,
	Peter Zijlstra <pzijlstr@redhat.com>
Subject: Re: Scheduler on C2D CPU and latest 2.6.27 kernel
Date: Tue, 21 Oct 2008 07:42:51 -0400	[thread overview]
Message-ID: <48FDC03B.3050708@redhat.com> (raw)
In-Reply-To: <c4e36d110810210429q55e959c5hcdf7bfad34cb1f57@mail.gmail.com>

Zdenek Kabelac wrote:
> 2008/10/21 Chris Snook <csnook@redhat.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

  reply	other threads:[~2008-10-21 11:42 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-21  9:59 Scheduler on C2D CPU and latest 2.6.27 kernel Zdenek Kabelac
2008-10-21 11:07 ` Chris Snook
2008-10-21 11:29   ` Zdenek Kabelac
2008-10-21 11:42     ` Chris Snook [this message]
2008-10-21 11:58       ` Zdenek Kabelac

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48FDC03B.3050708@redhat.com \
    --to=csnook@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=pzijlstr@redhat.com \
    --cc=zdenek.kabelac@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.