From: Dave Jones <davej@redhat.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Linux Kernel <linux-kernel@vger.kernel.org>,
Tejun Heo <tj@kernel.org>
Subject: Re: excessive kworker activity when idle. (was Re: vma corruption in today's -git)
Date: Thu, 31 Mar 2011 12:13:26 -0400 [thread overview]
Message-ID: <20110331161325.GA2327@redhat.com> (raw)
In-Reply-To: <AANLkTik=WBy7CRQSENiiRfi2BFtwL5iT9d3RBK4uZz1d@mail.gmail.com>
On Thu, Mar 31, 2011 at 08:58:14AM -0700, Linus Torvalds wrote:
> On Thu, Mar 31, 2011 at 8:49 AM, Dave Jones <davej@redhat.com> wrote:
> >
> > That's a recent change though, and I first saw this back in November.
>
> So your November report said that you could see "thousands" of these a
> second. But maybe it didn't use up all CPU until recently?
>From memory, I noticed it back then in the same way "hey, why is the laptop getting hot".
> Especially if you have a high CONFIG_HZ value, you'd still see a
> thousand flushes a second even with the old "delay a bit". So it would
> use a fair amount of CPU, and certainly waste a lot of power. But it
> wouldn't pin the CPU entirely.
HZ=1000 here, so yeah that makes sense.
> With that commit f23eb2b2b285, the buggy case would become basically
> totally CPU-bound.
>
> I dunno. Right now 'trinity' just ends up printing out a lot of system
> call errors for me. I assume that's its normal behavior?
yep. it's throwing semi-random junk and seeing what sticks.
99% of the time, it ends up with an -EINVAL or something providing
the syscalls have sufficient checks in place. We're pretty solid there
these days. (Though I still need to finish adding more annotations of some
of the syscall arguments just to be sure we're passing semi-sane things
to get deeper into the syscalls)
What still seems to throw a curve-ball though is the case where calling
a syscall generates some state. Due to the random nature of the program,
we never have a balanced alloc/free, so lists can grow quite large etc.
I'm wondering if something has created a livelock situation, where some queue
has grown to the point that we're generating new work before we can
process the backlog.
The downside of using randomness of course is with bugs like this, there's
no easy way to figure out wtf happened to get it into this state
other than poring over huge logfiles of all the syscalls that were made.
I'm happily ignorant of most of the inner workings of the tty layer.
I don't see anything useful in procfs/sysfs/debugfs. Is there anything
useful I can do with the trace tools to try and find out things like
the length of queues ?
Dave
next prev parent reply other threads:[~2011-03-31 16:13 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-29 4:09 vma corruption in today's -git Dave Jones
2011-03-29 4:19 ` Américo Wang
2011-03-29 4:26 ` Dave Jones
2011-03-29 4:22 ` Linus Torvalds
2011-03-31 3:09 ` excessive kworker activity when idle. (was Re: vma corruption in today's -git) Dave Jones
2011-03-31 3:34 ` Dave Jones
2011-03-31 3:44 ` Linus Torvalds
2011-03-31 4:08 ` Dave Jones
2011-03-31 15:53 ` Linus Torvalds
2011-03-31 16:21 ` Linus Torvalds
2011-03-31 21:38 ` Linus Torvalds
2011-03-31 14:59 ` Paul E. McKenney
2011-03-31 3:37 ` Linus Torvalds
2011-03-31 3:55 ` Dave Jones
2011-03-31 5:32 ` Linus Torvalds
2011-03-31 14:21 ` Arnaldo Carvalho de Melo
2011-03-31 14:58 ` Dave Jones
2011-03-31 15:03 ` Dave Jones
2011-03-31 15:09 ` Dave Jones
2011-03-31 15:45 ` Linus Torvalds
2011-03-31 15:25 ` Linus Torvalds
2011-03-31 15:49 ` Dave Jones
2011-03-31 15:58 ` Linus Torvalds
2011-03-31 16:13 ` Dave Jones [this message]
2011-03-31 6:56 ` Tejun Heo
2011-03-31 10:37 ` [PATCH] workqueue: document debugging tricks Florian Mickler
2011-03-31 11:41 ` Tejun Heo
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=20110331161325.GA2327@redhat.com \
--to=davej@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tj@kernel.org \
--cc=torvalds@linux-foundation.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox