|
|
1.1 ! root 1: #ifndef lint ! 2: static char sccsid[] = "@(#)profile.c 1.3 (Berkeley/CCI) 11/23/87"; ! 3: #endif ! 4: ! 5: ! 6: #include "vdfmt.h" ! 7: ! 8: #define cycles 10 ! 9: ! 10: /* ! 11: ** ! 12: */ ! 13: ! 14: profile() ! 15: { ! 16: unsigned int total_time, i, step, remainder; ! 17: dskadr ead, zero; ! 18: char digit_buf[20]; ! 19: ! 20: print("Disk seek profile for "); ! 21: printf("controller %d, drive %d, ", cur.controller, cur.drive); ! 22: printf("type %s.\n", lab->d_typename); ! 23: ! 24: indent(); ! 25: if(is_formatted() == false) { ! 26: print("Can not profile unformatted drives!\n"); ! 27: _longjmp(abort_environ, 1); ! 28: } ! 29: print(" Seek | Seek time (ms)\n"); ! 30: print("Length |0 5 10 15 20 25 30 35 40 45 50\n"); ! 31: print("-------|-----+----+----+----+----+----+----+----+----+----+\n"); ! 32: ! 33: cur.state = prof; ! 34: zero.cylinder = zero.track = zero.sector=0; ! 35: ead.track = ead.sector=0; ! 36: step = lab->d_ncylinders / 55; ! 37: for(ead.cylinder=1; ead.cylinder<lab->d_ncylinders; ead.cylinder+=step){ ! 38: total_time = 0; ! 39: for(i=0; i<cycles; i++) { ! 40: access_dsk((char *)save, &zero, VDOP_SEEK, 1, 60); ! 41: access_dsk((char *)save, &ead, VDOP_SEEK, 1, 60); ! 42: if(kill_processes == true) ! 43: _longjmp(quit_environ, 1); ! 44: total_time += ((2*60*1000*1000) - vdtimeout); ! 45: } ! 46: print(""); ! 47: sprintf(digit_buf, "%d ", ead.cylinder); ! 48: for(i=0; i<7; i++) ! 49: putchar(digit_buf[i]); ! 50: putchar('|'); ! 51: total_time /= cycles; ! 52: remainder = total_time % 10; ! 53: total_time /= 10; ! 54: while(total_time--) ! 55: putchar(' '); ! 56: if(remainder >= 5) ! 57: printf("+\n"); ! 58: else ! 59: printf("*\n"); ! 60: DELAY(400000); ! 61: } ! 62: print("-------|-----+----+----+----+----+----+----+----+----+----+\n"); ! 63: print(" |0 5 10 15 20 25 30 35 40 45 50\n"); ! 64: exdent(1); ! 65: printf("Profile completed successfully.\n"); ! 66: } ! 67:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.