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>