sfstat
counter_u64_t sfstat[sizeof(struct sfstat) / sizeof(uint64_t)];
COUNTER_ARRAY_ALLOC(sfstat, sizeof(struct sfstat) / sizeof(uint64_t),
SYSINIT(sfstat, SI_SUB_MBUF, SI_ORDER_FIRST, sfstat_init, NULL);
struct sfstat s;
COUNTER_ARRAY_COPY(sfstat, &s, sizeof(s) / sizeof(uint64_t));
COUNTER_ARRAY_ZERO(sfstat, sizeof(s) / sizeof(uint64_t));
SYSCTL_PROC(_kern_ipc, OID_AUTO, sfstat,
extern counter_u64_t sfstat[sizeof(struct sfstat) / sizeof(uint64_t)];
counter_u64_add(sfstat[offsetof(struct sfstat, name) / sizeof(uint64_t)],\
if (fetch_stats("kern.ipc.sfstat", mbaddr, &sfstat, sizeof(sfstat),
(uintmax_t)sfstat.sf_syscalls);
(uintmax_t)sfstat.sf_noiocnt);
(uintmax_t)sfstat.sf_iocnt);
(uintmax_t)sfstat.sf_pages_read);
(uintmax_t)sfstat.sf_pages_valid);
(uintmax_t)sfstat.sf_pages_bogus);
(uintmax_t)sfstat.sf_rhpages_requested);
(uintmax_t)sfstat.sf_rhpages_read);
(uintmax_t)sfstat.sf_busy);
(uintmax_t)sfstat.sf_allocfail);
(uintmax_t)sfstat.sf_allocwait);
struct sfstat sfstat;