tester writes:
 > Hello,
 > 
 > Trying to understand the ZFS IO scheduler, because of the async nature
 > it is not very apparent, can someone give a short explanation for each
 > of these stack traces and for  their frequency 
 >  
 > this is the command
 > 
 > dd if=/dev/zero of=/test/test1/trash count=1 bs=1024k;sync
 > 
 > no other IO is happening to the test pool. OS is on a zfs pool (rpool)
 > 
 > 
 > I don't see any zio_vdev_io_start in any of the function stacks, any idea 
 > why?
 > 

I assume because of tail calls. If you trace
zio_vdev_io_start() you see it being called but (looking at
source) then it tail calls vdev_mirror_io_start() and so disappears from the 
stack.

-r


 > dtrace -n 'io:::start { @a[stack()] = count(); }'
 > 
 > dtrace: description 'io:::start ' matched 6 probes
 > 
 > 
 >              genunix`bdev_strategy+0x44
 >               zfs`vdev_disk_io_start+0x2a8
 >               zfs`zio_execute+0x74
 >               genunix`taskq_thread+0x1a4
 >               unix`thread_start+0x4
 >                20
 > 
 >               genunix`bdev_strategy+0x44
 >               zfs`vdev_disk_io_start+0x2a8
 >               zfs`zio_execute+0x74
 >               zfs`vdev_queue_io_done+0x84
 >               zfs`vdev_disk_io_done+0x4
 >               zfs`zio_execute+0x74
 >               genunix`taskq_thread+0x1a4
 >               unix`thread_start+0x4
 >                31
 > 
 >               genunix`bdev_strategy+0x44
 >               zfs`vdev_disk_io_start+0x2a8
 >               zfs`zio_execute+0x74
 >               zfs`vdev_mirror_io_start+0x1b4
 >               zfs`zio_execute+0x74
 >               zfs`vdev_mirror_io_start+0x1b4
 >               zfs`zio_execute+0x74
 >               genunix`taskq_thread+0x1a4
 >               unix`thread_start+0x4
 >                34
 > 
 >               genunix`bdev_strategy+0x44
 >               zfs`vdev_disk_io_start+0x2a8
 >               zfs`zio_execute+0x74
 >               zfs`vdev_mirror_io_start+0x1b4
 >               zfs`zio_execute+0x74
 >               genunix`taskq_thread+0x1a4
 >               unix`thread_start+0x4
 >                45
 > 
 >               genunix`bdev_strategy+0x44
 >               zfs`vdev_disk_io_start+0x2a8
 >               zfs`zio_execute+0x74
 >               zfs`vdev_queue_io_done+0x9c
 >               zfs`vdev_disk_io_done+0x4
 >               zfs`zio_execute+0x74
 >               genunix`taskq_thread+0x1a4
 >               unix`thread_start+0x4
 >                53
 > -- 
 > This message posted from opensolaris.org
 > _______________________________________________
 > zfs-discuss mailing list
 > zfs-discuss@opensolaris.org
 > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to