<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"><meta name="Generator" content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Lucida Console";
        panose-1:2 11 6 9 4 5 4 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:#1F4E79;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:702053816;
        mso-list-type:hybrid;
        mso-list-template-ids:2004017532 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style></head><body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word"><div class="WordSection1"><p class="MsoNormal"><span style="font-size:12.0pt;color:#1f4e79">Summary: We’ve noticed that the PMD for the X540-AT2 does not recover properly after it reports dropped packets (resulting in increments of <i>rte_eth_stats.imissing</i>) due to CPU overload. The said driver then continues to drop packets even when the CPU load subsides. A restart of the just the driver (with no other changes) fixes the issue. Other drivers (such as the I350 1GE PMD) do no exhibit this behavior under identical traffic conditions and everything else being the same, causing us to suspect a bug in the X540 PMD. </span></p><p class="MsoNormal"><span style="font-size:12.0pt;color:#1f4e79"> </span></p><p class="MsoNormal"><span style="font-size:12.0pt;color:#1f4e79">Here are more details: </span></p><p class="MsoNormal"><span style="font-size:12.0pt;color:#1f4e79"> </span></p><p class="MsoNormal"><span style="font-size:12.0pt;color:#1f4e79">We have a very simple application using DPDK 21.11 running on an x86_64 platform running CentOS 8. Application receives 64byte packets at 1Gbps from port 0 of the X540-AT2 card, does some processing, and transmits packets over port 1 of the same card. Everything’s ok when the CPU load is moderate. When processing load saturates the CPU core, the <i>imissing</i> count increments (as expected) as PMD cannot keep up with the received packets. The real issue is that driver continues to miss packets and increments <i>imissing</i> <u>even after the CPU load subsides to levels where previously it reported no dropped packets.</u> A restart of the X540 driver using <b>rte_eth_dev_stop()</b></span><span style="font-size:13.0pt;font-family:"Lucida Console""> </span><span style="font-size:12.0pt;color:#1f4e79">and</span><span style="font-size:13.0pt;font-family:"Lucida Console""> </span><b><span style="font-size:12.0pt;color:#1f4e79">rte_eth_dev_start() </span></b><span style="font-size:12.0pt;color:#1f4e79">fixes the issue. Here’s the sequence:</span><span style="font-size:13.0pt;font-family:"Lucida Console""> </span><span style="font-size:12.0pt;color:#1f4e79"></span></p><p class="MsoNormal"><span style="font-size:12.0pt;color:#1f4e79"> </span></p><ol style="margin-top:0in" start="1" type="1"><li class="MsoListParagraph" style="color:#1f4e79;margin-left:0in"><span style="font-size:12.0pt">CPU core moderately loaded, X540-AT2 PMD reports no missed packets (all good).</span></li><li class="MsoListParagraph" style="color:#1f4e79;margin-left:0in"><span style="font-size:12.0pt">CPU core saturated, PMD reports missed packets (as expected)</span></li><li class="MsoListParagraph" style="color:#1f4e79;margin-left:0in"><span style="font-size:12.0pt">CPU core load subsides and is about the same as level in item 1 above, but PMD continues to drop packets and increments <i>imissing</i> (strange)</span></li><li class="MsoListParagraph" style="color:#1f4e79;margin-left:0in"><span style="font-size:12.0pt">Issue of dropped packets gets fixed after restarting the port driver by calling rte_eth_dev_stop() and then rte_eth_dev_start() with no other changes and no restart of the overall process/thread/application.</span></li></ol><p class="MsoNormal"><span style="font-size:12.0pt;color:#1f4e79"> </span></p><p class="MsoNormal"><span style="font-size:12.0pt;color:#1f4e79">The above behavior is not seen with other drivers, i.e., packet drops stop upon mitigation of the CPU load level.</span></p><p class="MsoNormal"><span style="font-size:12.0pt;color:#1f4e79"> </span></p><p class="MsoNormal"><span style="font-size:12.0pt;color:#1f4e79">Has anyone else seen the above issue with the X540-AT2 card?</span></p><p class="MsoNormal"><span style="font-size:12.0pt;color:#1f4e79"> </span></p><p class="MsoNormal"><span style="font-size:12.0pt;color:#1f4e79">Thanks,</span></p><p class="MsoNormal"><span style="font-size:12.0pt;color:#1f4e79">Vinay Purohit</span></p><p class="MsoNormal"><span style="font-size:12.0pt;color:#1f4e79">CloudJuncxion, Inc.</span></p></div></body></html>