Are ru_inblock/ru_oublock in struct rusage used in capturing all block/cluster activity?

Garrett Cooper yanegomi at
Fri Feb 25 00:37:04 UTC 2011

Hi FS folks,
    I'm trying to get a better understanding of these two statistics
recorded by getrusage(2):

             long ru_inblock;         /* block input operations */
             long ru_oublock;         /* block output operations */

    Are the block operations limited to filesystem access on disk, or
do they also apply to filesystems not backed by physical media, like
memory disks, tmpfs, etc? It looks like it applies to all vnode
operations in areas (the kern/vfs_*.c files), so I would assume that
it applies to non-physical backed filesystem access as well, but just
to be sure I thought I would ask the experts.
    ru_inblock and ru_oublock summed together compose the ac_io
statistic used by acct(2), so I'm curious as to whether or not the
utility of acct(2) on non-physical media backed filesystems was

PS As a bonus question, why is ac_io a float primitive if it's just a
sum of two longs?

More information about the freebsd-fs mailing list