All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Valdis.Kletnieks@vt.edu
Cc: Andrew Morton <akpm@linux-foundation.org>, linux-kernel@vger.kernel.org
Subject: Re: 2.6.21-mm2 - 100% CPU on ksoftirqd/1
Date: Wed, 09 May 2007 11:12:39 -0700	[thread overview]
Message-ID: <46420F17.2050106@goop.org> (raw)
In-Reply-To: <4123.1178726923@turing-police.cc.vt.edu>

Valdis.Kletnieks@vt.edu wrote:
> It comes up with a screaming ksoftirqd - usually /1 but one boot had /0.
> Just sitting there, 100% CPU according to 'top'.  Tried 'echo t > /proc/sysrq-trigger' to get
> a trace, but it was always running on the other CPU - even after I reniced
> it down to 19 and launched 2 'for(;;)' C programs to suck the cycles.  It would
> be failing to get any CPU - until I did the 'echo t' and then it would be
> "running" again.  Anybody got any good debugging ideas here?
>   

Huh.  I've just been trying to find a problem with events/1 spinning
after boot in current -git.  I was worried I'd introduced it, but looks
like there might be a wider problem.

I tracked it down to kernel/workqueue.c:run_workqueue(), where the while
(!list_empty(&cwq->worklist)) loop spins forever.  It turns out that the
list_empty test was failing, but cwq->worklist was pointing to itself
(iow, worklist.next points to a self-pointing list node).

I haven't found how it was getting into that state, but the use of
list_del_init(cwq->worklist.next) looks suspect to me.

Curiously, it seems to escape this loop after about 4-5mins, and then
seems well-behaved from then on.  And it doesn't always happen.

And, of course, no changes in kernel/workqueue.c since Feb, so whatever
changed was somewhere else, and I guess it could have affected kevent in
the same way.

It always seems to happen on the last CPU; when I run the kernel as Xen
guest with 4 vcpus, it happens on events/3.

    J

  parent reply	other threads:[~2007-05-09 18:12 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-09  8:23 2.6.21-mm2 Andrew Morton
2007-05-09 14:57 ` 2.6.21-mm2 - Kconfig horkage Valdis.Kletnieks
2007-05-09 17:07   ` Christoph Lameter
2007-05-09 17:16     ` Valdis.Kletnieks
2007-05-09 18:36       ` Christoph Lameter
2007-05-09 16:08 ` 2.6.21-mm2 - 100% CPU on ksoftirqd/1 Valdis.Kletnieks
2007-05-09 17:31   ` Andrew Morton
2007-05-09 18:12   ` Jeremy Fitzhardinge [this message]
2007-05-09 20:13     ` Valdis.Kletnieks
2007-05-11  2:52   ` Valdis.Kletnieks
2007-05-09 16:51 ` 2.6.21-mm2 - hanging with initcall_debug and netconsole Valdis.Kletnieks
2007-05-09 17:37   ` Andrew Morton
2007-05-10 11:29 ` 2.6.21-mm2 -- compat_core_sys_select() kmalloc(0) Andy Whitcroft
2007-05-10 11:48 ` 2.6.21-mm2 -- powerpc missing kset Andy Whitcroft
2007-05-10 11:48   ` Andy Whitcroft
2007-05-10 12:16   ` Stephen Rothwell
2007-05-10 12:16     ` Stephen Rothwell
2007-05-10 15:48     ` Randy Dunlap
2007-05-10 15:48       ` Randy Dunlap
2007-05-10 23:45       ` Stephen Rothwell
2007-05-10 12:21 ` ixp4xx compile error (was Re: 2.6.21-mm2) Frederik Deweerdt
2007-05-10 12:45   ` Frederik Deweerdt
2007-05-10 12:56     ` Dmitry Torokhov
2007-05-10 16:11 ` 2.6.21-mm2 Marc Dietrich
2007-05-10 19:22   ` 2.6.21-mm2 Andrew Morton
2007-05-10 20:40     ` 2.6.21-mm2 Marc Dietrich
2007-05-11  8:27 ` [-mm patch] make csum_and_copy_from_user arch independent (was Re: 2.6.21-mm2) Frederik Deweerdt
2007-05-11  8:33   ` Andrew Morton
2007-05-11  9:14   ` [-mm patch] make csum_and_copy_from_user arch independent David Miller
2007-05-11 13:56     ` Frederik Deweerdt
2007-05-11 17:04       ` Russell King
2007-05-11 18:03 ` 2.6.21-mm2 boot failure, raid autodetect, bd_set_size+0xb/0x80 thunder7
2007-05-11 18:18   ` Andrew Morton
2007-05-11 18:53     ` thunder7
2007-05-15  3:25 ` 2.6.21-mm2 - CONFIG_STATISTIC and Intel PowerTOP Valdis.Kletnieks
2007-05-15 14:25   ` Martin Peschke

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=46420F17.2050106@goop.org \
    --to=jeremy@goop.org \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.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 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.