Running strace against zfs create I see the following ioctl() taking the time:
1500475028.118005 ioctl(3, _IOC(0, 0x5a, 0x12, 0x00), 0x7ffc7c2184f0) = -1
ENOMEM (Cannot allocate memory) <0.390093>
1500475028.508153 mmap(NULL, 290816, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fbfd487b000 <0.000017>
1500475028.508201 ioctl(3, _IOC(0, 0x5a, 0x12, 0x00), 0x7ffc7c2184f0) = 0
<0.382304>
I believe this and ioctl on /dev/zfs, namely ZFS_IOC_OBJSET_STATS which
is getting stats on all the zfs file systems. This ioctl takes longer to
do as the number of clones increases. I believe this is the API causing
the bottleneck.
perf shows that over 99.9% of the zfs clone is indeed performing this
ioctl:
- 99.39% 0.00% zfs [kernel.kallsyms] [k] sys_ioctl
sys_ioctl
do_vfs_ioctl
- zfsdev_ioctl
- 99.33% zfs_ioc_objset_stats
- 99.30% zfs_ioc_objset_stats_impl.part.20
- 99.21% dmu_objset_stats
- dsl_dataset_stats
- 99.18% get_clones_stat
- 60.46% fnvlist_add_nvlist
nvlist_add_nvlist
nvlist_add_common.part.51
nvlist_copy_embedded.isra.54
nvlist_copy_pairs.isra.52
- nvlist_add_common.part.51
- 30.35% nvlist_copy_embedded.isra.54
nvlist_copy_pairs.isra.52
+ nvlist_add_common.part.51
- 29.62% nvlist_remove_all.part.49
strcmp
- 31.23% fnvlist_add_boolean
- nvlist_add_boolean
- nvlist_add_common.part.51
- 30.20% nvlist_remove_all.part.49
strcmp
0.94% strcmp
- 6.37% dsl_dataset_hold_obj
- 6.28% dmu_bonus_hold
- 5.89% dnode_hold
- 5.83% dnode_hold_impl
- 5.40% dbuf_read
- dmu_zfetch
- 5.19% dmu_zfetch_dofetch.isra.7
- 4.76% dbuf_prefetch
- 2.67% dbuf_find
mutex_lock
0.91% mutex_unlock
0.55% dnode_block_freed
** Bug watch added: Github Issue Tracker for ZFS #6372
https://github.com/zfsonlinux/zfs/issues/6372
** Also affects: zfs via
https://github.com/zfsonlinux/zfs/issues/6372
Importance: Unknown
Status: Unknown
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1567557
Title:
Performance degradation of "zfs clone" when under load
To manage notifications about this bug go to:
https://bugs.launchpad.net/zfs/+bug/1567557/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
