http://bugs.dpdk.org/show_bug.cgi?id=1836
Bug ID: 1836
Summary: bnxt underreporting stats when queue count >
RTE_ETHDEV_QUEUE_STAT_CNTRS
Product: DPDK
Version: 24.07
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: ethdev
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Basically, if you have more than RTE_ETHDEV_QUEUE_STAT_CNTRS queues, it will
underreport counters, specifically, ipacket, ibytes, and so on, so like total
port stats, not per queue ones.
I did a little bit of investigation:
bnxt_stats_get_op/bnxt_stats_get_ext both have this line
num_q_stats = RTE_MIN(bp->rx_cp_nr_rings,
(unsigned int)RTE_ETHDEV_QUEUE_STAT_CNTRS);
Then, in the loop, bnxt_hwrm_ring_stats is called to retrieve stats for the
queue, and bnxt_fill_rte_eth_stats is used to aggregate results and actually
add values to ipacket/ibytes; however, if rx_cp_nr_rings >
RTE_ETHDEV_QUEUE_STAT_CNTRS, it means that some queues are never checked.
Maybe there are hardware limitations I'm not aware of, but it seems like a bug
to me.
Originally saw this on 24.07, and now we are moving to 25, but just from the
code, it seems like 25 will have the same problem, but I haven't tried with
traffic yet on 25.
--
You are receiving this mail because:
You are the assignee for the bug.