On Fri, Dec 05, 2008 at 05:15:09PM -0500, Jim Mauro wrote: > The problem you're running into is disk IO operations tend to occur > asynchronously to the thread that initiated the IO, so when the IO > provider probe fires, execname shows the process name for PID 0. > This is not uncommon when chasing disk and network IOs. You > need to capture the write further up the stack.
Yes; This happens in particular with ZFS, which uses a pipeline and task queues to dispatch writes. It's a great FS design, but makes debugging more difficult. # dtrace -n 'io:::start { @[stack()] = count(); }' [...] genunix`ldi_strategy+0x54 zfs`vdev_disk_io_start+0x1a5 zfs`zio_vdev_io_start+0x148 zfs`zio_execute+0x7f zfs`vdev_queue_io_done+0x98 zfs`vdev_disk_io_done+0x2b zfs`zio_vdev_io_done+0x22 zfs`zio_execute+0x7f genunix`taskq_thread+0x1a7 unix`thread_start+0x8 1500 Brendan -- Brendan Gregg, Sun Microsystems Fishworks. http://blogs.sun.com/brendan _______________________________________________ dtrace-discuss mailing list dtrace-discuss@opensolaris.org