aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHiroaki Mihara <hmihara@redhat.com>2019-09-25 07:32:06 +0900
committerJens Axboe <axboe@kernel.dk>2019-09-25 00:22:13 -0600
commitd025d6c67760a52e34e6c7352f33ad5dbbb4f6f4 (patch)
tree89b4beef5556de2e3bb03309956c161b18c5866d
parent09feee843ec1f5e00db56da5f4ff91847c3cd958 (diff)
downloadblktrace-d025d6c67760a52e34e6c7352f33ad5dbbb4f6f4.tar.gz
blkparse: split off the timestamp correction code in to a separate function
find_genesis() function has code to correct abs_start_time, which is later used to calculate the absolute timestamps of each traced records. Put this code in a separate function, so that it can be used later by the blkparse code. No functional change. Signed-off-by: Hiroaki Mihara <hmihara@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--blkparse.c29
1 files changed, 17 insertions, 12 deletions
diff --git a/blkparse.c b/blkparse.c
index 3de2ebe..cf7a87b 100644
--- a/blkparse.c
+++ b/blkparse.c
@@ -2022,6 +2022,22 @@ static void show_device_and_cpu_stats(void)
}
}
+static void correct_abs_start_time(void)
+{
+ long delta = genesis_time - start_timestamp;
+
+ abs_start_time.tv_sec += SECONDS(delta);
+ abs_start_time.tv_nsec += NANO_SECONDS(delta);
+ if (abs_start_time.tv_nsec < 0) {
+ abs_start_time.tv_nsec += 1000000000;
+ abs_start_time.tv_sec -= 1;
+ } else
+ if (abs_start_time.tv_nsec > 1000000000) {
+ abs_start_time.tv_nsec -= 1000000000;
+ abs_start_time.tv_sec += 1;
+ }
+}
+
static void find_genesis(void)
{
struct trace *t = trace_list;
@@ -2039,18 +2055,7 @@ static void find_genesis(void)
*/
if (start_timestamp
&& start_timestamp != genesis_time) {
- long delta = genesis_time - start_timestamp;
-
- abs_start_time.tv_sec += SECONDS(delta);
- abs_start_time.tv_nsec += NANO_SECONDS(delta);
- if (abs_start_time.tv_nsec < 0) {
- abs_start_time.tv_nsec += 1000000000;
- abs_start_time.tv_sec -= 1;
- } else
- if (abs_start_time.tv_nsec > 1000000000) {
- abs_start_time.tv_nsec -= 1000000000;
- abs_start_time.tv_sec += 1;
- }
+ correct_abs_start_time();
}
}