event/dsw: add port busy cycles xstats
authorMattias Rönnblom <mattias.ronnblom@ericsson.com>
Mon, 9 Mar 2020 06:51:06 +0000 (07:51 +0100)
committerJerin Jacob <jerinj@marvell.com>
Sat, 4 Apr 2020 14:32:19 +0000 (16:32 +0200)
commitb97d3a9cbc10034584788cd30354e1c97992786c
tree8cbbb9d972ff13abf0b0a0f0f70e715364080d8a
parentcea7bc671311e8cf5fbc21dceb15f5f8af8ee36b
event/dsw: add port busy cycles xstats

DSW keeps an internal port load estimate, used by the load balancing
mechanism. As a side effect, it keeps track of the total number of
busy cycles since startup. This metric is indirectly exposed in the
form of DSW xstats' "port_<n>_event_proc_latency", which is the total
number of busy cycles divided by the total number of events processed
on a particular port.

An external application can take (event_latency * dequeued) to go back
to busy_cycles. One reason for doing this is to measure the port's
load during a longer time period, without resorting to sampling
"port_<n>_load". However, as the number dequeued events grows, a
rounding error in event_latency renders the application-calculated
busy_cycles inaccurate.

Thus, it makes sense to directly expose the number of busy cycles as a
DSW xstats, even though it might seem redundant.

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
drivers/event/dsw/dsw_xstats.c