Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Jul 2006 14:41:26 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-hackers@freebsd.org
Cc:        Deomid Ryabkov <myself@rojer.pp.ru>, Gareth McCaughan <gmccaughan@synaptics-uk.com>
Subject:   Re: "swiN: clock sio" process taking 75% CPU
Message-ID:  <200607181441.26875.jhb@freebsd.org>
In-Reply-To: <200607181804.44813.gmccaughan@synaptics-uk.com>
References:  <200607181317.33416.gmccaughan@synaptics-uk.com> <44BD044A.4090509@rojer.pp.ru> <200607181804.44813.gmccaughan@synaptics-uk.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 18 July 2006 13:04, Gareth McCaughan wrote:
> On Tuesday 2006-07-18 16:54, Deomid Ryabkov wrote:
> > Gareth McCaughan wrote:
> > 
> > > About 6 minutes after booting (on three occasions, but I
> > > don't guarantee this doesn't vary), a process (well, a
> > > kernel interrupt thread, I guess) that appears in the
> > > output of "ps" as "[swi4: clock sio]" begins to use
> > > about 3/4 of the machine's CPU.
> > 
> > I recall seeing similar behavior on a Sun V20z, running 5.x at the time.
> > I have definitely seen a lot of interrupts and CPU usage on the sio 
interrupt
> > corresponding to serial console. Needless to say there was no activity
> > on the console itself.
> > I think turning off serial console solved that for me.
> 
> Do you mean commenting out the entries in /etc/ttys related to
> serial TTYs, or something else? (I've tried the former, and it
> didn't help.)
> 
> In the spirit of grotesque voodoo chicken-waving, I also tried
> taking the "sio" device out of my kernel entirely. The problem
> remains unaltered.

In that case, something is scheduling a lot of timeouts (via callout_reset() 
or timeout()) or you have timeout handlers that are taking a very long time 
to run.  There aren't any easy ways to debug this. :-P  You can try turning 
on the DIGANOSTIC check in kern_timeout.c to catch long-running timeouts, and 
you can try adding some KTR traces to softclock() to see which timeout 
functions are running and try to do some analysis on that.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607181441.26875.jhb>