Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Aug 2016 14:37:08 +0100
From:      Gary Palmer <gpalmer@freebsd.org>
To:        Ben RUBSON <ben.rubson@gmail.com>
Cc:        FreeBSD FS <freebsd-fs@freebsd.org>
Subject:   Re: [ZFS] ARC accounting bug ?
Message-ID:  <20160830133708.GD56297@in-addr.com>
In-Reply-To: <71DED907-10BE-44C2-982B-12974152895D@gmail.com>
References:  <C2642B73-83F2-4A1C-88BE-322F376861FF@gmail.com> <a89defa1-4335-70b2-25d5-ca43626c844d@ShaneWare.Biz> <71DED907-10BE-44C2-982B-12974152895D@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160830133708.GD56297>