DTrace for FreeBSD - fbt output
John Baldwin
jhb at freebsd.org
Wed Jun 14 14:25:54 UTC 2006
On Tuesday 13 June 2006 17:36, John Birrell wrote:
> On Tue, Jun 13, 2006 at 02:15:43AM +0000, John Birrell wrote:
> > With the development as it stands at the moment, take care using the FBT
> > provider because you can easily cause the system to go kaboom. I'm still
> > trying to track down the problems there. It's not in FBT itself -- just
> > the fact that the DTrace probe context isn't allowed to call anything that
> > FBT can instrument. If that happens you will either get a reboot or a
> > double fault will leave you in kdb. I recommend only enabling a few FBT
> > probes at a time just so you know which ones could cause a fault. There is
> > no point telling me that you enabled fbt::: and the system went kaboom!
>
> With the FBT provider as it now stands and using this script:
>
> fbt:::entry
> {
> @[probefunc] = count();
> }
>
> the output after a buildworld is listed below. Check out the number of
> calls to critical_enter and critical_exit (which are listed at the bottom)!
> And for comparison, check the hardclock() count which relects 1000 Hz.
Those functions are called a lot as every spinlock ends up calling them
(including sched_lock, turnstile chain locks, sleepqueue locks, etc.)
One thing I found odd is:
> cpu_set_fork_handler 608
> kthread_create 608
> kthread_exit 608
We created and destroyed 608 kernel threads during a buildworld?? This
doesn't seem right. Were you doing the buildworld over NFS?
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the freebsd-current
mailing list