Greg Ames wrote: >Justin Erenkrantz wrote: > ...
>>This type of behavior sounds like there is a global lock that is >>being held by one process that causes everyone to wait. Once that >>lock is released, everyone finishes. -- justin >> > >hmmm, that's an interesting theory. It would definitely spike the run queue, >and might cause visible cpu spikes. But in daedalus's case, I don't know what >the global lock equivalent would be. > On FreeBSD, is there a way to look at the syscalls active within the kernel at a point in time? On Solaris, running "adb -k" and using the "$<threadlist" macro will give a stack trace of each thread in the kernel--a mix of internal kernel threads and the threads executing the internal implementation of each currently executing syscall. If you have something similar in FreeBSD, it should show whether daedalus has a lot of syscalls blocked on, say, some global mutex within the kernel. --Brian
