Some polishing of SCSI log time measurement

This commit is contained in:
Thomas Schmitt 2013-06-09 16:31:28 +00:00
parent e2188fb9f7
commit bd381583de
3 changed files with 10 additions and 2 deletions

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2013.06.09.154237" #define Cdrskin_timestamP "2013.06.09.163052"

View File

@ -1676,7 +1676,7 @@ int scsi_log_reply(unsigned char *opcode, int data_dir, unsigned char *data,
dxfer_len, fp, 0); dxfer_len, fp, 0);
} }
if (!(flag & 2)) if (!(flag & 2))
fprintf(fp, " %6.f us [ %.f ]\n", fprintf(fp, " %8.f us [ %.f ]\n",
duration * 1.0e6, duration * 1.0e6,
(burn_get_time(0) - lib_start_time) * 1.0e6); (burn_get_time(0) - lib_start_time) * 1.0e6);
if (burn_sg_log_scsi & 4) if (burn_sg_log_scsi & 4)

View File

@ -353,14 +353,22 @@ double burn_get_time(int flag)
struct timeval tv; struct timeval tv;
#ifdef Libburn_use_clock_gettime_monotoniC #ifdef Libburn_use_clock_gettime_monotoniC
#ifdef _POSIX_TIMERS
#ifdef _POSIX_MONOTONIC_CLOCK #ifdef _POSIX_MONOTONIC_CLOCK
/* Enable by
export CFLAGS=-DLibburn_use_clock_gettime_monotoniC
export LIBS=-lrt
./configure ... && make clean && make
*/
struct timespec tp; struct timespec tp;
ret = clock_gettime(CLOCK_MONOTONIC, &tp); ret = clock_gettime(CLOCK_MONOTONIC, &tp);
if (ret == 0) if (ret == 0)
return ((double) tp.tv_sec) + ((double) tp.tv_nsec) * 1.0e-9; return ((double) tp.tv_sec) + ((double) tp.tv_nsec) * 1.0e-9;
#endif /* _POSIX_MONOTONIC_CLOCK */ #endif /* _POSIX_MONOTONIC_CLOCK */
#endif /* _POSIX_TIMERS */
#endif /* Xorriso_use_clock_gettime_monotoniC */ #endif /* Xorriso_use_clock_gettime_monotoniC */
ret = gettimeofday(&tv, NULL); ret = gettimeofday(&tv, NULL);