<div dir="ltr"><div class="gmail_extra">Thanks for your kind remind. Also great thanks for your hints, it is a good start to investigate OVS implementation. </div><div class="gmail_extra"><div class="gmail_quote">On Mon, Jun 12, 2017 at 3:19 AM, Darrell Ball <span dir="ltr">&lt;<a href="mailto:dball@vmware.com" target="_blank">dball@vmware.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">







<div bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="m_-359760495809153342m_5752404920165864718WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">Try not to drop the list<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">In the general case, including the specific case that you mention, today’s design<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">is to select a queue from the tx port queues starting from low ID, that has the<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">least contending PMD threads.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><u></u> <u></u></span></p>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-left:.5in"><b><span style="font-family:Calibri;color:black">From:
</span></b><span style="font-family:Calibri;color:black">Hui Jing &lt;<a href="mailto:h.jingict@gmail.com" target="_blank">h.jingict@gmail.com</a>&gt;<br>
<b>Date: </b>Sunday, June 11, 2017 at 2:33 PM<br>
<b>To: </b>Darrell Ball &lt;<a href="mailto:dball@vmware.com" target="_blank">dball@vmware.com</a>&gt;<br>
<b>Subject: </b>Re: [ovs-discuss] vhost-user multiqueue PMD RSS<u></u><u></u></span></p>
</div><div><div class="m_-359760495809153342h5">
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Hi Darrell Ball, <u></u><u></u></p>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Thanks for your reply with the link. Actually, my question comes from there when I was reading the article. In the article, Everything makes perfect sense when it says each PMD handle a single queue of the NIC.
 I am wondering what if one PMD thread is responsible for more queues (which is possible) of the VNIC, or in other words, number of  PMD threads is less than the number of queues of  vhost-user. In this case, how the PMD distribute traffic.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Best regards,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Hui <u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
<div>
<p class="MsoNormal" style="margin-left:.5in">On Sun, Jun 11, 2017 at 7:21 PM, Darrell Ball &lt;<a href="mailto:dball@vmware.com" target="_blank">dball@vmware.com</a>&gt; wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in">
<span style="font-size:11.0pt;font-family:Calibri"><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__software.intel.com_en-2Dus_articles_configure-2Dvhost-2Duser-2Dmultiqueue-2Dfor-2Dovs-2Dwith-2Ddpdk&amp;d=DwMFaQ&amp;c=uilaK90D4TOVoH58JNXRgQ&amp;r=BVhFA09CGX7JQ5Ih-uZnsw&amp;m=t6e4fxDY-056Dec9-A_jqM07-wRZIe-IM57ykiU0cuU&amp;s=5rFLcAUhoV5uqReRdeUzso2tbYhv67Az02iDwKvWs3I&amp;e=" target="_blank">https://software.intel.com/en-<wbr>us/articles/configure-vhost-us<wbr>er-multiqueue-for-ovs-with-dpd<wbr>k</a></span><u></u><u></u></p>
<p class="MsoNormal" style="margin-left:.5in">
<span style="font-size:11.0pt;font-family:Calibri"> </span><u></u><u></u></p>
<p class="MsoNormal" style="margin-left:.5in">
<span style="font-size:11.0pt;font-family:Calibri"> </span><u></u><u></u></p>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-left:1.0in">
<b><span style="font-family:Calibri;color:black">From: </span></b><span style="font-family:Calibri;color:black">&lt;<a href="mailto:ovs-discuss-bounces@openvswitch.org" target="_blank">ovs-discuss-bounces@openvswit<wbr>ch.org</a>&gt; on behalf of Hui Jing &lt;<a href="mailto:h.jingict@gmail.com" target="_blank">h.jingict@gmail.com</a>&gt;<br>
<b>Date: </b>Sunday, June 11, 2017 at 5:04 AM<br>
<b>To: </b>&quot;<a href="mailto:ovs-discuss@openvswitch.org" target="_blank">ovs-discuss@openvswitch.org</a>&quot; &lt;<a href="mailto:ovs-discuss@openvswitch.org" target="_blank">ovs-discuss@openvswitch.org</a>&gt;<br>
<b>Subject: </b>[ovs-discuss] vhost-user multiqueue PMD RSS</span><u></u><u></u></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">
Hi all, <u></u><u></u></p>
<div>
<p class="MsoNormal" style="margin-left:1.0in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">
I am new to OVS-DPDK and trying to figure out the mechanism of vhost-user multiqueue scenario. I understand that the PMD thread is created for polling the queues of vhost-user or physical NIC and the affinity bind PMD to queues. However, the PMD transmission
 side confused me, I would like to learn PMD thread mechanism and how it distributes traffic to different queues. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">
 <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">
Let&#39;s consider this scenario: one PMD thread is responsible for two queues of one vhost-user, when packet destined to the vhost-user, how it decide which queue to trasmit? is there equivalence to RSS? <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">
                                          =========<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">
                                          |Rx Queue0| <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">
Traffic ==&gt;PMD thread ==&gt;                      ==&gt;Virtio Frontend in VM           <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">
                                          |Rx Queue1|<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">
                                          =========<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">
Thanks in advance<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">
Best Regards,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">
Hui<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
</div></div></div>
</div>

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