From 494a1ccc7989e45e8906033de7c0d6c5a9f7209a Mon Sep 17 00:00:00 2001 From: Michal Mielewczyk Date: Thu, 12 Sep 2019 04:41:59 -0400 Subject: [PATCH] Extract stats builder utils to separate file. Signed-off-by: Michal Mielewczyk --- src/ocf_stats_builder.c | 41 +-------------------------------- src/utils/utils_stats.h | 50 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 40 deletions(-) create mode 100644 src/utils/utils_stats.h diff --git a/src/ocf_stats_builder.c b/src/ocf_stats_builder.c index 5f8125a..bdc2a6f 100644 --- a/src/ocf_stats_builder.c +++ b/src/ocf_stats_builder.c @@ -9,46 +9,7 @@ #include "engine/cache_engine.h" #include "utils/utils_part.h" #include "utils/utils_cache_line.h" - -#define _ocf_stats_zero(stats) \ - do { \ - if (stats) { \ - typeof(*stats) zero = { { 0 } }; \ - *stats = zero; \ - } \ - } while (0) - -static uint64_t _fraction(uint64_t numerator, uint64_t denominator) -{ - uint64_t result; - if (denominator) { - result = 10000 * numerator / denominator; - } else { - result = 0; - } - return result; -} - -static uint64_t _lines4k(uint64_t size, - ocf_cache_line_size_t cache_line_size) -{ - long unsigned int result; - - result = size * (cache_line_size / 4096); - - return result; -} - -static uint64_t _bytes4k(uint64_t bytes) -{ - return (bytes + 4095UL) >> 12; -} - -static void _set(struct ocf_stat *stat, uint64_t value, uint64_t denominator) -{ - stat->value = value; - stat->fraction = _fraction(value, denominator); -} +#include "utils/utils_stats.h" static void _fill_req(struct ocf_stats_requests *req, struct ocf_stats_core *s) { diff --git a/src/utils/utils_stats.h b/src/utils/utils_stats.h new file mode 100644 index 0000000..d0c9fac --- /dev/null +++ b/src/utils/utils_stats.h @@ -0,0 +1,50 @@ +/* + * Copyright(c) 2012-2019 Intel Corporation + * SPDX-License-Identifier: BSD-3-Clause-Clear + */ + +#ifndef UTILS_STATS_H_ +#define UTILS_STATS_H_ + +#define _ocf_stats_zero(stats) \ + do { \ + if (stats) { \ + typeof(*stats) zero = { { 0 } }; \ + *stats = zero; \ + } \ + } while (0) + +static inline uint64_t _fraction(uint64_t numerator, uint64_t denominator) +{ + uint64_t result; + if (denominator) { + result = 10000 * numerator / denominator; + } else { + result = 0; + } + return result; +} + +static inline uint64_t _lines4k(uint64_t size, + ocf_cache_line_size_t cache_line_size) +{ + long unsigned int result; + + result = size * (cache_line_size / 4096); + + return result; +} + +static inline uint64_t _bytes4k(uint64_t bytes) +{ + return (bytes + 4095UL) >> 12; +} + +static inline void _set(struct ocf_stat *stat, uint64_t value, + uint64_t denominator) +{ + stat->value = value; + stat->fraction = _fraction(value, denominator); +} + +#endif