V7 High CPU Usage on swi5:+, what is this process?
John Baldwin
jhb at freebsd.org
Tue Mar 18 13:06:56 UTC 2008
On Tuesday 18 March 2008 07:21:23 am Robert Watson wrote:
> On Mon, 17 Mar 2008, Aminuddin Abdullah wrote:
> > I have just upgraded 5 of my machines to V7 from 6.3 and then realized
> > that all the machines has a high CPU usage. Almost all of them using
> > 80%-90% CPU with more than 8000 connections. Using previous 6.3, it only
> > uses 40-50% CPU with the same kind of connections.
> >
> > Using top -S, I can see that swi5: +, PID 17 process is using 30% of CPU
> > time. What is this process?
> >
> > All the machines are Intel C2D 6300 except one which is a AMD 4000+.
> >
> > Is this normal for V7? How do I downgrade to 6.3 if this V7 killing the
> > CPU?
>
> '+' is used in a swi name to indicate that the names of the interrupts to
> put in the thread name are too long, and the code looks like it was written
> under the assumption that at least one name would fit. It sounds like in
> this case, none fit. We should fix this code, but in the mean time, what
> you might consider doing is hacking intr_event_update() in kern_intr.c to
> print out overflowing names to the console using printf(9) so you can at
> least see what they are. This is the somewhat suspect bit of code:
The code is not suspect as p_comm is of fixed length. Someone just used too
long of a name for a swi handler.
> I've CC'd John, who might have views on what we should do about this. It
> would be nice if we had a way to export information on all the interrupt
> event sources, including soft ones, and their mappings to ithreads,
> including swis, using sysctl. Or maybe we do already and he'll point us at
> it. :-)
We don't and that is what we need for a userland interrupt binding interface
to make sense.
--
John Baldwin
More information about the freebsd-performance
mailing list