2 Replies Latest reply on Sep 20, 2018 12:22 AM by tbarbette



      Hi Community,


      I'd like to understand better a problem we have, which seems to be linked to the fact that DPDK's xstats/ethtool -S shows a lot of "rx-out-of-buffer" packets. I found the performance counter document, but it does not say much about why this could happen, which buffer we're speaking about. I quote "Number of times  receive queue had no software buffers allocated for the adapter's incoming traffic.". As rx_nombufs (DPDK stats) is 0 I guess it does not mean that there is not enough software buffers. Are they some internal MLX buffers? What can be done to prevent that?




        • Re: rx-out-of-buffer
          This message was posted by Yair Ifergan on behalf of Martijn van Breugel

          Hi Tom,

          Thanks you for posting your question on the Mellanox Community.

          Based on the information provided, the following Mellanox Community document explains the 'rx_out_of_buffer' ethtool/xstat statistic.

          You can improve the rx_out_of_buffer behavior with tuning the node and also modifying the ring-size on the adapter (ethtool -g <int>)

          Also make sure, you follow the DPDK Performance recommendations from the following link -> https://doc.dpdk.org/guides/nics/mlx5.html#performance-tuning

          If you still experience performance issues after these recommendations, please do not hesitate to open a Mellanox Support Case, by emailing to support@mellanox.com

          Thanks and regards,
          ~Mellanox Technical Support

          • Re: rx-out-of-buffer

            Thanks for the answer ! But I don't see what you refer as "the following Mellanox Community document" ? So I kind of still don't know what it is. If you refer to the line "Number of times receive queue had no software buffers allocated for the adapter's incoming traffic.", then the tuning you mention will not change the problem because the rings are never full, and the CPU is not busy. So what buffer does "rx-out-of-buffer" count if it's not the ring buffers?