- ndrives++;
- }
- if (argc > 1)
- iter = atoi(argv[1]);
- signal(SIGCONT, printhdr);
-loop:
- if (--tohdr == 0)
- printhdr();
- lseek(mf, (long)nl[X_DK_BUSY].n_value, L_SET);
- read(mf, &s.dk_busy, sizeof s.dk_busy);
- lseek(mf, (long)nl[X_DK_TIME].n_value, L_SET);
- read(mf, s.dk_time, dk_ndrive*sizeof (long));
- lseek(mf, (long)nl[X_DK_XFER].n_value, L_SET);
- read(mf, s.dk_xfer, dk_ndrive*sizeof (long));
- lseek(mf, (long)nl[X_DK_WDS].n_value, L_SET);
- read(mf, s.dk_wds, dk_ndrive*sizeof (long));
- lseek(mf, (long)nl[X_DK_SEEK].n_value, L_SET);
- read(mf, s.dk_seek, dk_ndrive*sizeof (long));
- lseek(mf, (long)nl[X_TK_NIN].n_value, L_SET);
- read(mf, &s.tk_nin, sizeof s.tk_nin);
- lseek(mf, (long)nl[X_TK_NOUT].n_value, L_SET);
- read(mf, &s.tk_nout, sizeof s.tk_nout);
- lseek(mf, (long)nl[X_CP_TIME].n_value, L_SET);
- read(mf, s.cp_time, sizeof s.cp_time);
- for (i = 0; i < dk_ndrive; i++) {
- if (!dr_select[i])
- continue;
-#define X(fld) t = s.fld[i]; s.fld[i] -= s1.fld[i]; s1.fld[i] = t
- X(dk_xfer); X(dk_seek); X(dk_wds); X(dk_time);
- }
- t = s.tk_nin; s.tk_nin -= s1.tk_nin; s1.tk_nin = t;
- t = s.tk_nout; s.tk_nout -= s1.tk_nout; s1.tk_nout = t;
- etime = 0;
- for(i=0; i<CPUSTATES; i++) {
- X(cp_time);
- etime += s.cp_time[i];