int read_vm(void) { if (state == TIME) copyinfo(&s3, &s1); fetchkre(); fetchifstat(); if (state == TIME) dkswap(); num_disp = 0; return 0; }
void dkstats(void) { int dn, state; double etime; /* Calculate disk stat deltas. */ dkswap(); etime = 0; for (state = 0; state < CPUSTATES; ++state) { etime += cur.cp_time[state]; } if (etime == 0) etime = 1; etime /= hz; for (dn = 0; dn < dk_ndrive; ++dn) { if (!dk_select[dn]) continue; (void)printf("%3.0f ", (cur.dk_rxfer[dn] + cur.dk_rxfer[dn]) / etime); } }
int read_io(void) { int mib[3]; size_t size; dkreadstats(); dkswap(); num_disp = cur.dk_ndrive + 1; bclast = bccur; mib[0] = CTL_VFS; mib[1] = VFS_GENERIC; mib[2] = VFS_BCACHESTAT; size = sizeof(bccur); if (sysctl(mib, 3, &bccur, &size, NULL, 0) < 0) error("cannot get vfs.bcachestat"); if (bclast.numbufs == 0) bclast = bccur; return 0; }