<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Hello,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof ContentPasted0 ContentPasted1">
from my understanding after debugging, in test_refcnt_iter the return value of rte_ring_enqueue is not checked; leading to lack of expected mbufs at the end checks.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof ContentPasted0 ContentPasted1">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof ContentPasted0 ContentPasted1">
Here is some fix proposal that seems to work after running endurance tests for several days:<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof ContentPasted0 ContentPasted1">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof ContentPasted0 ContentPasted1 ContentPasted2">
diff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c
<div class="ContentPasted2">index b4f436b5e2..8a5d26e4f6 100644</div>
<div class="ContentPasted2">--- a/app/test/test_mbuf.c</div>
<div class="ContentPasted2">+++ b/app/test/test_mbuf.c</div>
<div class="ContentPasted2">@@ -1033,12 +1033,17 @@ test_refcnt_iter(unsigned int lcore, unsigned int iter,</div>
<div class="ContentPasted2">                tref += ref;</div>
<div class="ContentPasted2">                if ((ref & 1) != 0) {</div>
<div class="ContentPasted2">                        rte_pktmbuf_refcnt_update(m, ref);</div>
<div class="ContentPasted2">-                       while (ref-- != 0)</div>
<div class="ContentPasted2">-                               rte_ring_enqueue(refcnt_mbuf_ring, m);</div>
<div class="ContentPasted2">+                       while (ref-- != 0) {</div>
<div class="ContentPasted2">+                               /* retry in case of failure */</div>
<div class="ContentPasted2">+                               while (rte_ring_enqueue(refcnt_mbuf_ring, m) != 0)</div>
<div class="ContentPasted2">+                                       ;</div>
<div class="ContentPasted2">+                       }</div>
<div class="ContentPasted2">                } else {</div>
<div class="ContentPasted2">                        while (ref-- != 0) {</div>
<div class="ContentPasted2">                                rte_pktmbuf_refcnt_update(m, 1);</div>
<div class="ContentPasted2">-                               rte_ring_enqueue(refcnt_mbuf_ring, m);</div>
<div class="ContentPasted2">+                               /* retry in case of failure */</div>
<div class="ContentPasted2">+                               while (rte_ring_enqueue(refcnt_mbuf_ring, m) != 0)</div>
<div class="ContentPasted2">+                                       ;</div>
<div class="ContentPasted2">                        }</div>
<div class="ContentPasted2">                }</div>
                rte_pktmbuf_free(m);</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof ContentPasted0 ContentPasted1 ContentPasted2">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof ContentPasted0 ContentPasted1 ContentPasted2">
Can you confirm ?</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof ContentPasted0 ContentPasted1 ContentPasted2">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof ContentPasted0 ContentPasted1 ContentPasted2">
Thank,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof ContentPasted0 ContentPasted1 ContentPasted2">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof ContentPasted0 ContentPasted1 ContentPasted2">
Julien Hascoet<br>
</div>
<div id="content_out_jhascoet_kalrayinc.com"></div></body>
</html>