diff options
author | Hiroaki Mihara <hmihara@redhat.com> | 2019-09-25 07:32:06 +0900 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2019-09-25 00:22:13 -0600 |
commit | d025d6c67760a52e34e6c7352f33ad5dbbb4f6f4 (patch) | |
tree | 89b4beef5556de2e3bb03309956c161b18c5866d | |
parent | 09feee843ec1f5e00db56da5f4ff91847c3cd958 (diff) | |
download | blktrace-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.c | 29 |
1 files changed, 17 insertions, 12 deletions
@@ -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(); } } |