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.

Reply via email to