networking - How to measure RX and TX latency in DPDK IXGBE driver? -
the goal of experiment measure rx , tx latency(dma+pcie+mmio latency) batch of packets in dpdk based bulk mode driver ixgbe driver. using intel x520 , x540 nics.
rx side
since rx working in parallel processing, if measure cpu cycles rx function in driver won't give actual rx latency. avoid flushing driver stage , descriptors fill in hardware ring , start cycle counting using "__rdtscp(&unsigned int)". wait batch number of packet , stop couting cpu cycles. in understanding rx latency(dma, pcie , mmio used). changing ixgbe_recv_pkts_bulk_alloc( ) function in dpdk driver.
tx side
similarly, want measure tx latency, start couting before filling hardware ring , poll ring check if nic has set dd bit. once dd bits set, stop couting cpu cycles. in undertstanding tx latency(dma, pcie , mmio). doing in tx_xmit_pkts() function in driver.
is right way measure rx , tx latency(interested in dma, pcie , mmio latency) or missing something?
please comment understanding of concepts. there else should consider achieve goal.
thanks.
Comments
Post a Comment