2000-12-13 23:40:32

by Joseph Cheek

[permalink] [raw]
Subject: test12 + initrd = swapper at 99.8% CPU time

hi all,

i'm using test12 to perform a clean linux install. as soon as i get to
a command prompt, ps axufw shows swapper at 99.8% CPU usage. this
didn't repro with test11, and doesn't repro if i don't use an initrd.

my load avg stays above 1 even if nothing [a couple gettys and a shell]
is running.

what can i do to debug this? any ideas?

--
thanks!

joe

--
Joseph Cheek, Sr Linux Consultant, Linuxcare | http://www.linuxcare.com/
Linuxcare. Support for the Revolution. | [email protected]
CTO / Acting PM, Redmond Linux Project | [email protected]
425 990-1072 vox [1074 fax] 206 679-6838 pcs | [email protected]




2000-12-14 00:25:07

by Marcelo Tosatti

[permalink] [raw]
Subject: Re: test12 + initrd = swapper at 99.8% CPU time



On Wed, 13 Dec 2000, Joseph Cheek wrote:

> hi all,
>
> i'm using test12 to perform a clean linux install. as soon as i get to
> a command prompt, ps axufw shows swapper at 99.8% CPU usage. this
> didn't repro with test11, and doesn't repro if i don't use an initrd.
>
> my load avg stays above 1 even if nothing [a couple gettys and a shell]
> is running.
>
> what can i do to debug this? any ideas?

Boot with "profile=2" kernel option and read readprofile (1) man page to
know how to use it.

2000-12-14 13:41:35

by Russell King

[permalink] [raw]
Subject: Re: test12 + initrd = swapper at 99.8% CPU time

Joseph Cheek writes:
> i'm using test12 to perform a clean linux install. as soon as i get to
> a command prompt, ps axufw shows swapper at 99.8% CPU usage. this
> didn't repro with test11, and doesn't repro if i don't use an initrd.

What pid does this task have? The only process that should be "swapper"
is pid0, and pid0 should be hidden from view.

If its not pid0, then I'd guess that it may be a rogue program...
_____
|_____| ------------------------------------------------- ---+---+-
| | Russell King [email protected] --- ---
| | | | http://www.arm.linux.org.uk/personal/aboutme.html / / |
| +-+-+ --- -+-
/ | THE developer of ARM Linux |+| /|\
/ | | | --- |
+-+-+ ------------------------------------------------- /\\\ |

2000-12-14 19:56:38

by Joseph Cheek

[permalink] [raw]
Subject: Re: test12 + initrd = swapper at 99.8% CPU time

hi,

ps axufw shows it as pid 1.

Russell King wrote:

> Joseph Cheek writes:
> > i'm using test12 to perform a clean linux install. as soon as i get to
> > a command prompt, ps axufw shows swapper at 99.8% CPU usage. this
> > didn't repro with test11, and doesn't repro if i don't use an initrd.
>
> What pid does this task have? The only process that should be "swapper"
> is pid0, and pid0 should be hidden from view.
>
> If its not pid0, then I'd guess that it may be a rogue program...
> _____
> |_____| ------------------------------------------------- ---+---+-
> | | Russell King [email protected] --- ---
> | | | | http://www.arm.linux.org.uk/personal/aboutme.html / / |
> | +-+-+ --- -+-
> / | THE developer of ARM Linux |+| /|\
> / | | | --- |
> +-+-+ ------------------------------------------------- /\\\ |

--
thanks!

joe

--
Joseph Cheek, Sr Linux Consultant, Linuxcare | http://www.linuxcare.com/
Linuxcare. Support for the Revolution. | [email protected]
CTO / Acting PM, Redmond Linux Project | [email protected]
425 990-1072 vox [1074 fax] 206 679-6838 pcs | [email protected]



2000-12-15 03:31:37

by Mike Galbraith

[permalink] [raw]
Subject: Re: test12 + initrd = swapper at 99.8% CPU timer

On Thu, 14 Dec 2000, Joseph Cheek wrote:

> hi,
>
> ps axufw shows it as pid 1.

Interesting.. init running out of control. I've seen that, and it
was init taking endless page faults.

I wager (one virtual brew) that you'll see an endless stream of output
if you apply this.

--- kernel/signal.c.org Fri Dec 15 03:36:59 2000
+++ kernel/signal.c Fri Dec 15 03:39:36 2000
@@ -564,6 +564,9 @@
{
unsigned long int flags;

+ if (sig == SIGSEGV)
+ printk(KERN_ERR "SIGSEGV pid %d\n", t->pid);
+
spin_lock_irqsave(&t->sigmask_lock, flags);
if (t->sig == NULL) {
spin_unlock_irqrestore(&t->sigmask_lock, flags);