<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<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:Courier;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cordia New";
        panose-1:2 11 3 4 2 2 2 2 2 4;}
@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:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:10.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-IN" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">Hello Bruce,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">Thank you for your mail!<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">I have attached the complete log that we observed.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">Upon your suggestion, we experimented with the
</span><b><span style="font-size:11.0pt;font-family:Courier;mso-fareast-language:EN-US">--in-memory</span></b><span style="font-size:11.0pt;mso-fareast-language:EN-US"> option and it worked!  Since this option enables both
</span><b><span style="font-size:11.0pt;font-family:Courier;mso-fareast-language:EN-US">--no-shconf</span></b><span style="font-size:11.0pt;mso-fareast-language:EN-US"> and
</span><b><span style="font-size:11.0pt;font-family:Courier;mso-fareast-language:EN-US">--huge-unlink</span></b><span style="font-size:11.0pt;mso-fareast-language:EN-US">. We also tried each option separately. The test ran fine with the
</span><b><span style="font-size:11.0pt;font-family:Courier;mso-fareast-language:EN-US">--no-shconf</span></b><span style="font-size:11.0pt;mso-fareast-language:EN-US"> option, but it failed when only the
</span><b><span style="font-size:11.0pt;font-family:Courier;mso-fareast-language:EN-US">--huge-unlink</span></b><span style="font-size:11.0pt;mso-fareast-language:EN-US"> option was added.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US">Now when
</span><b><span style="font-size:11.0pt;font-family:Courier;mso-fareast-language:EN-US">--no-shconf</span></b><span style="font-size:11.0pt;mso-fareast-language:EN-US"> option also worked, we also need some understanding whether it will impact multi-queue performance
 and if there are any other costs associated with using this flag.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Verdana",sans-serif;color:#5B9BD5">Best Regards,<br>
<br>
Avijit Pandey<br>
Cloud SME | VoerEirAB<br>
+919598570190</span><span style="font-size:11.0pt"><o:p></o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:12.0pt;color:black">From:
</span></b><span style="font-size:12.0pt;color:black">Bruce Richardson <bruce.richardson@intel.com><br>
<b>Date: </b>Wednesday, 27 March 2024 at 20:25<br>
<b>To: </b>Avijit Pandey <Avijit@voereir.com><br>
<b>Cc: </b>dev@dpdk.org <dev@dpdk.org><br>
<b>Subject: </b>Re: Error in rte_eal_init() when multiple PODs over single node of K8 cluster<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt">On Wed, Mar 27, 2024 at 12:42:55PM +0000, Avijit  Pandey wrote:<br>
>    Hello Devs,<br>
> <br>
> <br>
>    I hope this email finds you well.<br>
> <br>
>    I am reaching out to seek assistance regarding an issue I am facing in<br>
>    DPDK within my Kubernetes cluster.<br>
> <br>
> <br>
>    I have deployed a Kubernetes cluster v1.26.0, and I am currently<br>
>    running network testing through DPPD-PRoX ([1]commit/02425932) using<br>
>    DPDK (v22.11.0). I have deployed 3 pairs of PODs (3 server pods and 3<br>
>    client pods) on a single K8 node. The server generates and sends<br>
>    traffic to the receiver pod.<br>
> <br>
> <br>
>    During the automated testing, I encounter an error: "Error in<br>
>    rte_eal_init()." This error occurs randomly, and I am unable to<br>
>    determine the root cause. However, this issue does not occur when I use<br>
>    a single pair of PODs (1 server pod and 1 client pod). The traffic is<br>
>    sent and received through the sriov NICs.<br>
> <br>
> <br>
<br>
<snip> <br>
>            With master core index 23, full core mask is 0x2800000<br>
> <br>
>            EAL command line: /opt/samplevnf/VNFs/DPPD-PROX/build/prox<br>
>    -c0x2800000 --main-lcore=23 -n4 --allow 0000:86:04.6<br>
> <br>
>    error   Error in rte_eal_init()<br>
> <br>
> <br>
<br>
Not sure what the problem is exactly, without a better error message. Can<br>
you manage to provide the EAL output in the failure case, perhaps using<br>
--log-level flag to up the log levels a bit higher if the error is not<br>
clear from the default output.<br>
<br>
Also, in case of running multiple instances of DPDK on a single system, I'd<br>
generally recommend passing --in-memory flag to each instance to avoid<br>
issues with conflicts over hugepage files. (This will disable support for<br>
DPDK multi-process operation, so don't use the flag if that is a feature<br>
you are using.)<br>
<br>
/Bruce<br>
<br>
PS: couple of other comments on your commandline that may be of interest,<br>
since it's a little longer than it needs to be :-)<br>
 - We'd generally recommend, for clarity, using "-l" flag rather than "-c"<br>
   for passing core masks. In your case "-c 0x2800000" should be equivalent<br>
   to the more comprehensible "-l 23,25".<br>
 - DPDK always uses the lowest core number as the main lcore, so in the<br>
   example above --main-lcore=23 should be superfluous and can be omitted<br>
 - For mempool creation, -n 4 is the default in DPDK if unsupecified, so<br>
   again that flag can be dropped without impact, unless something specific<br>
   in the app depends on it in some other way.<br>
 - If you want to shorten your allow list a little, the "0000:" can be<br>
   dropped from the PCI address. So "--allow 0000:86:04.6" can be <br>
   "-a 86:04.6"<o:p></o:p></span></p>
</div>
</div>
</body>
</html>