mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 23:21:31 +00:00
tools/power turbostat: do not enforce 1ms
Turbostat works by taking a snapshot of counters, sleeping, taking another snapshot, calculating deltas, and printing out the table. The sleep time is controlled via -i option or by user sending a signal or a character to stdin. In the latter case, turbostat always adds 1 ms sleep before it reads the counters, in order to avoid larger imprecisions in the results in prints. While the 1 ms delay may be a good idea for a "dumb" user, it is a problem for an "aware" user. I do thousands and thousands of measurements over a short period of time (like 2ms), and turbostat unconditionally adds a 1ms to my interval, so I cannot get what I really need. This patch removes the unconditional 1ms sleep. This is an expert user tool, after all, and non-experts will unlikely ever use it in the non-fixed interval mode anyway, so I think it is OK to remove the 1ms delay. Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
c026c23629
commit
6ee9fc63d2
@ -39,7 +39,6 @@ FILE *outf;
|
||||
int *fd_percpu;
|
||||
struct timeval interval_tv = {5, 0};
|
||||
struct timespec interval_ts = {5, 0};
|
||||
struct timespec one_msec = {0, 1000000};
|
||||
unsigned int num_iterations;
|
||||
unsigned int debug;
|
||||
unsigned int quiet;
|
||||
@ -2994,8 +2993,6 @@ static void signal_handler (int signal)
|
||||
fprintf(stderr, "SIGUSR1\n");
|
||||
break;
|
||||
}
|
||||
/* make sure this manually-invoked interval is at least 1ms long */
|
||||
nanosleep(&one_msec, NULL);
|
||||
}
|
||||
|
||||
void setup_signal_handler(void)
|
||||
@ -3046,8 +3043,6 @@ void do_sleep(void)
|
||||
rest.tv_nsec = (tout.tv_usec % 1000000) * 1000;
|
||||
nanosleep(&rest, NULL);
|
||||
}
|
||||
/* make sure this manually-invoked interval is at least 1ms long */
|
||||
nanosleep(&one_msec, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user