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 _______________________________________________ freebsd-performance@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-performance To unsubscribe, send any mail to "[EMAIL PROTECTED]"