[ZFS] ARC accounting bug ?

Gary Palmer gpalmer at freebsd.org
Tue Aug 30 13:37:11 UTC 2016


On Sat, Aug 27, 2016 at 06:15:18PM +0200, Ben RUBSON wrote:
> Playing with these commands :
> # dtrace -n 'sdt:zfs::arc-hit {@[execname, stack()] = count();}'
> # dtrace -n 'sdt:zfs::arc-miss {@[execname, stack()] = count();}'
> 
> We can see that these are readdir calls which produce arc-misses, and that readdir calls also produce arc-hits.
> 
> It would be interesting to know why some lead to hits, and some lead to misses.
> 
> (note that ls -lR / rsync commands produces exactly the same dtrace results/numbers as find command)

If the *same* readdir() call produces both a hit and a miss, my guess would
be that it is hitting two data sources for the data.

I am not familiar with ZFS, however UFS treats a directory as a special 
type of file.  Filename information and the inode associated with that
filename would be in the directory "file.  The inodes would be in the inode
table.

If ZFS is similar, then the directory "file" reads would be misses and
the inode table reads would be hits

Regards,

Gary


More information about the freebsd-fs mailing list