From: Nick Bowler <nbowler@elliptictech.com>
To: Dave Airlie <airlied@gmail.com>
Cc: tytso@mit.edu, Dave Airlie <airlied@redhat.com>,
David Howells <dhowells@redhat.com>,
linux-kernel@vger.kernel.org
Subject: Re: Why is kslowd accumulating so much CPU time?
Date: Mon, 14 Jun 2010 14:42:44 -0400 [thread overview]
Message-ID: <20100614184244.GA11480@elliptictech.com> (raw)
In-Reply-To: <AANLkTilQLk7ofSJBm9KIa2g1KQ35GC1D1vOZlPrv1VRv@mail.gmail.com>
On 06:00 Mon 14 Jun , Dave Airlie wrote:
> On Mon, Jun 14, 2010 at 5:49 AM, <tytso@mit.edu> wrote:
> > It's a Lenovo T400, with an Intel GPU:
> >
[...]
> > Why does KMS need to poll so frequently? 40 minutes of CPU time
> > accumulated in 4 hours of uptime translates to 16% of the CPU being
> > consumed by kslowd daemons, which seems... excessive.
> >
[...]
> > I have the following patch which I'm going to install later tonight to
> > see if I can figure out if it really is drm_crtc_helper.c which is
> > really responsible for all of the kslowd time being burned, but an
> > examination of the source doesn't seem to show any other that I'm
> > using that would likely be using the slow workqueue.
>
> It most likely is, but polling shouldn't really be taking huge amounts
> of CPU, unless there are some u/mdelays in there which would be bad.
>
> In theory on Intel with hotplug irqs we shouldn't be poilling at all,
> I must check why, the other thing is you could be suffering from the
> hotplug irq problem that others have reported, this would cause slow
> work triggers which aren't part of the normal poll cycle.
This sounds exactly like the issue I've been seeing on a T500 laptop, as
well (GM45 board). The slowdowns render the system essentially
unusable, as it can spend a loooong time just moving the mouse cursor a
few pixels on the screen. During this time, nothing else on the display
is updating (glxgears drops to 0fps). Things generally seem to be
working fine if I am not moving the mouse, or if I'm not running X.
I do not have this issue on a desktop machine with a G45.
Unfortunately, bisection is proving difficult because the exact set of
conditions to trigger the problems seem to be eluding me: sometimes the
kernel will work perfectly fine for quite some time, and then go
downhill from there. However, this is definitely a regression
introduced after 2.6.35-rc1.
--
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)
next prev parent reply other threads:[~2010-06-14 18:43 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-09 18:36 Why is kslowd accumulating so much CPU time? Theodore Ts'o
2010-06-09 18:56 ` David Howells
2010-06-09 19:00 ` David Howells
2010-06-13 8:23 ` Dave Airlie
2010-06-13 19:49 ` tytso
2010-06-13 20:00 ` Dave Airlie
2010-06-14 18:42 ` Nick Bowler [this message]
2010-06-14 21:46 ` tytso
2010-06-15 17:25 ` Andy Whitcroft
2010-06-15 18:07 ` David Howells
2010-06-16 11:37 ` Andy Whitcroft
2010-06-16 13:33 ` Andy Whitcroft
2010-06-16 14:36 ` Nick Bowler
2010-06-16 14:55 ` Andy Whitcroft
2010-06-17 13:25 ` Nick Bowler
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=20100614184244.GA11480@elliptictech.com \
--to=nbowler@elliptictech.com \
--cc=airlied@gmail.com \
--cc=airlied@redhat.com \
--cc=dhowells@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tytso@mit.edu \
/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.