<div><br></div><div dir="auto">Thanks Pravin.</div><div dir="auto"><br></div><div dir="auto">Do you any comments over memif PMD performance?</div><div dir="auto"><br></div><div dir="auto">Are there any better options than memif PMD in terms of performance?</div><div dir="auto"><br></div><div dir="auto">Kiran</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Mon, Jun 6, 2022 at 6:53 AM Pathak, Pravin <<a href="mailto:pravin.pathak@intel.com">pravin.pathak@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">





<div lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="m_-7677850046707712560WordSection1">
<p class="MsoNormal">Hi Kiran –<u></u><u></u></p>
<p class="MsoNormal">It should be possible. DPDK documentation  clearly shows two primary processes using memif to communicate.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal" style="background-color:rgb(252,252,252)"><b><span style="font-size:15pt;font-family:Georgia,serif;color:rgb(64,64,64)">32.2.1. Example: testpmd<u style="font-family:Georgia,serif"></u><u style="font-family:Georgia,serif"></u></span></b></p>
<p class="MsoNormal" style="margin-bottom:0.25in;line-height:18pt;background-color:rgb(252,252,252)">
<span style="font-size:12pt;font-family:Lato,sans-serif;color:rgb(64,64,64)">In this example we run two instances of testpmd application and transmit packets over memif.<u style="font-family:Lato,sans-serif"></u><u style="font-family:Lato,sans-serif"></u></span></p>
<p class="MsoNormal" style="margin-bottom:0.25in;line-height:18pt;background-color:rgb(252,252,252)">
<span style="font-size:12pt;font-family:Lato,sans-serif;color:rgb(64,64,64)">First create </span><span style="font-size:9pt;font-family:Menlo;border:1pt solid rgb(225,228,229);padding:2pt;background-color:white;color:rgb(231,76,60)">master</span><span style="font-size:12pt;font-family:Lato,sans-serif;color:rgb(64,64,64)"> interface:<u style="font-family:Lato,sans-serif"></u><u style="font-family:Lato,sans-serif"></u></span></p>
<p class="MsoNormal" style="background-color:rgb(248,248,248)"><span style="font-size:9pt;font-family:Menlo;color:rgb(64,64,64)">#./build/app/testpmd -l 0-1
<b style="font-family:Menlo">--proc-type=primary --file-prefix=pmd1</b> --vdev=net_memif,role=master -- -i<u style="font-family:Menlo"></u><u style="font-family:Menlo"></u></span></p>
<p class="MsoNormal" style="background-color:rgb(248,248,248)"><span style="font-size:9pt;font-family:Menlo;color:rgb(64,64,64)"><u style="font-family:Menlo"></u> <u style="font-family:Menlo"></u></span></p>
<p class="MsoNormal" style="margin-bottom:0.25in;line-height:18pt;background-color:rgb(252,252,252)">
<span style="font-size:12pt;font-family:Lato,sans-serif;color:rgb(64,64,64)">Now create </span><span style="font-size:9pt;font-family:Menlo;border:1pt solid rgb(225,228,229);padding:2pt;background-color:white;color:rgb(231,76,60)">slave</span><span style="font-size:12pt;font-family:Lato,sans-serif;color:rgb(64,64,64)"> interface
 (master must be already running so the slave will connect):<u style="font-family:Lato,sans-serif"></u><u style="font-family:Lato,sans-serif"></u></span></p>
<p class="MsoNormal" style="background-color:rgb(248,248,248)"><span style="font-size:9pt;font-family:Menlo;color:rgb(64,64,64)">#./build/app/testpmd -l 2-3
<b style="font-family:Menlo">--proc-type=primary --file-prefix=pmd2</b> --vdev=net_memif -- -i<u style="font-family:Menlo"></u><u style="font-family:Menlo"></u></span></p></div></div><div lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word"><div class="m_-7677850046707712560WordSection1">
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border-style:solid none none;border-top-width:1pt;padding:3pt 0in 0in;border-top-color:rgb(225,225,225)">
<p class="MsoNormal"><b>From:</b> Kiran Khatke <<a href="mailto:kirankhatke23may@gmail.com" target="_blank">kirankhatke23may@gmail.com</a>> <br>
<b>Sent:</b> Monday, June 6, 2022 9:24 AM<br>
<b>To:</b> Pathak, Pravin <<a href="mailto:pravin.pathak@intel.com" target="_blank">pravin.pathak@intel.com</a>><br>
<b>Cc:</b> <a href="mailto:users@dpdk.org" target="_blank">users@dpdk.org</a><br>
<b>Subject:</b> Re: Memory sharing between two primary processes<u></u><u></u></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Hi Pravin, <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Both are DPDK application, so want  to use DPDK Share memory i.e hugepages.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">How to share memory between two independent (Primary) application?  Does memif PMD allows that ? <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Kiran <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Mon, Jun 6, 2022 at 5:58 AM Pathak, Pravin <<a href="mailto:pravin.pathak@intel.com" target="_blank">pravin.pathak@intel.com</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-style:none none none solid;border-left-width:1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in;border-left-color:rgb(204,204,204)">
<div>
<div>
<p class="MsoNormal">Hi Kiran –<u></u><u></u></p>
<p class="MsoNormal">Can your application create and manage shared memory on it own without using DPDK support ?<u></u><u></u></p>
<p class="MsoNormal">Regards<u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">Pravin<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<div style="border-style:solid none none;border-top-width:1pt;padding:3pt 0in 0in;border-top-color:rgb(225,225,225)">
<p class="MsoNormal"><b>From:</b> Kiran Khatke <<a href="mailto:kirankhatke23may@gmail.com" target="_blank">kirankhatke23may@gmail.com</a>>
<br>
<b>Sent:</b> Monday, June 6, 2022 2:26 AM<br>
<b>To:</b> <a href="mailto:users@dpdk.org" target="_blank">users@dpdk.org</a><br>
<b>Subject:</b> Memory sharing between two primary processes<u></u><u></u></p>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<p style="margin:0in"><span style="color:rgb(49,49,49)">Hi,</span><u></u><u></u></p>
<p style="margin:0in;font-size:1rem;word-spacing:1px"><span style="color:rgb(49,49,49)"> </span><u></u><u></u></p>
<p style="margin:0in;font-size:1rem;word-spacing:1px"><span style="color:rgb(49,49,49)">Per DPDK Multiprocess, we know that, it is possible to share memory(hugepages) between a primary and secondary Process.  Primary process allocates the memory and that is accessible
 by the secondary (both are using same  "--file-prefix=" parameter).</span><u></u><u></u></p>
<p style="margin:0in;word-spacing:1px"><span style="color:rgb(49,49,49)"> </span><u></u><u></u></p>
<p style="margin:0in;font-size:1rem;word-spacing:1px"><span style="color:rgb(49,49,49)">There is a need in our application, to have two primary processes (started with different file-prefix) and would like to know the options - To share memory (hugepage) between
 two primaries and which can give us better throughputs.</span><u></u><u></u></p>
<p style="margin:0in;word-spacing:1px"><span style="color:rgb(49,49,49)"> </span><u></u><u></u></p>
<p style="margin:0in;font-size:1rem;word-spacing:1px"><span style="color:rgb(49,49,49)">During exploration, got to know about memif PMD, which allows for DPDK and any other client using memif (DPDK, libmemif) to communicate over shared memory. </span><u></u><u></u></p>
<p style="margin:0in;font-size:1rem;word-spacing:1px"><span style="color:rgb(49,49,49)">Do you have any comments about memif performance ? Are there better options over memif to share memory between two primaries ?</span><u></u><u></u></p>
<p style="margin:0in;font-size:1rem;word-spacing:1px"><span style="color:rgb(49,49,49)"> </span><u></u><u></u></p>
<p style="margin:0in;font-size:1rem;word-spacing:1px"><span style="color:rgb(49,49,49)">Thanks ,</span><u></u><u></u></p>
<p style="margin:0in;font-size:1rem;word-spacing:1px"><span style="color:rgb(49,49,49)">Kiran </span><u></u><u></u></p>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>

</blockquote></div></div>