Mike Tancsa wrote:
At 01:42 AM 11/11/2006, Scott Long wrote:
driver.  What will help me is if you can hook up a serial console to
your machine and see if it can be made to drop to the debugger while it
is under load and otherwise unresponsive.  If you can, getting a process
dump might help confirm where each CPU is spending its time.


./netblast 192.168.88.218 500 110 1000

I compiled in the various debugging options and on the serial console I get a few

Expensive timeout(9) function: 0xc0601e48(0) 0.024135749 s
and the serial console


One CPU seems to be stuck in softclock. My guess here is that there is significant lock contention. Please try the following:

1. Use addr2line or gdb on the kernel to find out what function is at
0xc0601e48 (the address that was printed above).  This address will
change every time you recompile the kernel, so you'll need to reacquire
it from the console each time.
2. Try compiling in WITNESS and running the test as before, then break
into the debugger as before.  Run 'show locks'.  I'm not sure how
fruitful this will be, WITNESS might make it unbearably slow.
3. Turn on MUTEX_PROFILING according to the text in /sys/conf/NOTES and
the man page by the same name.
4. Remove ADAPTIVE_GIANT from your config and retest.  If that doesn't
show a difference, then try setting NO_ADAPTIVE_MUTEXES.

Thanks,

Scott
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to