This may or may not be an issue on Illumos. VFS_ROOT in the following code snippet in FreeBSD's lookup calls zfs_root: https://github.com/freebsd/freebsd/blob/master/sys/kern/vfs_lookup.c#L970
Every call appears to serialize on getting a reference to the root vnode. To exercise this issue in isolation I forked will-it-scale and added a test for this case as fstatat3. https://github.com/mattmacy/will-it-scale You can see flame graphs of UNHALTED_CORE_CYCLES for buildkernel, buildworld, and fstatat3 https://github.com/mattmacy/profiling/tree/master/2018.04.30 It seems like the easiest way to test this on Illumos is to build the will it scale benchmarks and run `fstatat3_processes -t <ncpu> -s <nsamples>` If this isn't an issue FreeBSD could just keep persistent references to the root vnode from a lookup table and just free them after a quiescent period following an unmount. Thanks. -M ------------------------------------------ openzfs: openzfs-developer Permalink: https://openzfs.topicbox.com/groups/developer/discussions/Tf956cf09d0620bd5-M68a516e8db0b00c74117d392 Delivery options: https://openzfs.topicbox.com/groups