[dpdk-dev] [PATCH v3 05/12] event/octeontx: add event timer stats get and reset
Pavan Nikhilesh
pbhagavatula at caviumnetworks.com
Tue Apr 3 17:05:07 CEST 2018
Add functions to get and reset event timer adapter stats.
Signed-off-by: Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
---
drivers/event/octeontx/timvf_evdev.c | 26 ++++++++++++++++++++++++++
drivers/event/octeontx/timvf_evdev.h | 1 +
2 files changed, 27 insertions(+)
diff --git a/drivers/event/octeontx/timvf_evdev.c b/drivers/event/octeontx/timvf_evdev.c
index ccf724115..4db10cdd0 100644
--- a/drivers/event/octeontx/timvf_evdev.c
+++ b/drivers/event/octeontx/timvf_evdev.c
@@ -281,12 +281,38 @@ timvf_ring_free(struct rte_event_timer_adapter *adptr)
return 0;
}
+
+static int
+timvf_stats_get(const struct rte_event_timer_adapter *adapter,
+ struct rte_event_timer_adapter_stats *stats)
+{
+ struct timvf_ring *timr = adapter->data->adapter_priv;
+ uint64_t bkt_cyc = rte_rdtsc() - timr->meta.ring_start_cyc;
+
+ stats->evtim_exp_count = timr->meta.tim_arm_cnt;
+ stats->ev_enq_count = timr->meta.tim_arm_cnt;
+ stats->adapter_tick_count = rte_reciprocal_divide_u64(bkt_cyc,
+ &timr->meta.fast_div);
+ return 0;
+}
+
+static int
+timvf_stats_reset(const struct rte_event_timer_adapter *adapter)
+{
+ struct timvf_ring *timr = adapter->data->adapter_priv;
+
+ timr->meta.tim_arm_cnt = 0;
+ return 0;
+}
+
static struct rte_event_timer_adapter_ops timvf_ops = {
.init = timvf_ring_create,
.uninit = timvf_ring_free,
.start = timvf_ring_start,
.stop = timvf_ring_stop,
.get_info = timvf_ring_info_get,
+ .stats_get = timvf_stats_get,
+ .stats_reset = timvf_stats_reset,
};
int
diff --git a/drivers/event/octeontx/timvf_evdev.h b/drivers/event/octeontx/timvf_evdev.h
index e155b6ce2..e98ab631a 100644
--- a/drivers/event/octeontx/timvf_evdev.h
+++ b/drivers/event/octeontx/timvf_evdev.h
@@ -145,6 +145,7 @@ struct timvf_meta {
struct tim_mem_bucket *bkt;
void *chunk_pool;
uint64_t tck_int;
+ volatile uint64_t tim_arm_cnt;
};
struct timvf_ring {
--
2.16.3
More information about the dev
mailing list