[ovs-discuss] OVS-DPDK - threads roles/functionality

Boaron, Yossi (Nokia - IL) yossi.boaron at nokia.com
Sun Jan 24 14:05:26 UTC 2016


Hi All,
My name is Yossi , I'm doing these days my first steps in the 'OVS world' , focusing on OVS-DPDK , for openstack environment.
I have found the forum/mail list archive discussions  very efficient for understanding/clarifying  OVS-DPDK open issues.

I'm running  OVS -  2.4  and  DPDK - 2.0
My environment (open stack compute) includes , as appears in below diagram:

A.      A single  guest VM's (vhost usr).

B.      Physical NIC, assigned to DPDK (using dpdk_nic_bind.py).



[cid:image002.png at 01D156C1.08AB3590]
Output of relevant commands :


[root at overcloud-novacompute-0 ~]# dpdk_nic_bind.py --status

Network devices using DPDK-compatible driver
============================================
0000:04:00.1 '82576 Gigabit Network Connection' drv=uio_pci_generic unused=

Network devices using kernel driver
===================================
0000:04:00.0 '82576 Gigabit Network Connection' if=enp4s0f0 drv=igb unused=uio_pci_generic *Active*
Other network devices
=====================
[root at overcloud-novacompute-0 ~]# ovs-vsctl  show
9d6a914b-748b-4699-93fa-f29d0668b182
    Bridge "br0"
        Port "br0"
            Interface "br0"
                type: internal
        Port "dpdk0"
            Interface "dpdk0"
                type: dpdk
        Port "phy-br0"
            Interface "phy-br0"
                type: patch
                options: {peer="int-br0"}
    Bridge br-int
        fail_mode: secure
        Port "int-br0"
            Interface "int-br0"
                type: patch
                options: {peer="phy-br0"}
        Port "vhu9533ac89-d1"
            tag: 3
            Interface "vhu9533ac89-d1"
                type: dpdkvhostuser
                Port br-int
            Interface br-int
                type: internal
            ovs_version: "2.4.0"


Ø  ovs-vsctl set Open_vSwitch .  other_config:pmd-cpu-mask=1
The thread list under the vswitchd process is as follows:

Ø  ps -T -p 19920
19920 19920 ?        00:04:38 ovs-vswitchd
19920 19921 ?        00:00:31 dpdk_watchdog2
19920 19922 ?        00:00:07 vhost_thread1
19920 19923 ?        00:00:00 urcu3
19920 19988 ?        00:00:00 handler18
19920 19989 ?        00:00:00 handler28
19920 19990 ?        00:00:00 handler24
19920 19991 ?        00:00:00 handler25
19920 19992 ?        00:00:00 handler27
19920 19994 ?        00:00:00 handler23
19920 19999 ?        00:00:00 handler29
19920 20000 ?        00:00:00 handler19
19920 20001 ?        00:01:32 revalidator22
19920 20002 ?        00:01:03 revalidator20
19920 20003 ?        00:01:04 revalidator26
19920 20007 ?        00:01:02 revalidator21
19920 28281 ?        3-18:38:47 pmd59

I'm trying to understand the different threads role/functionality,

1.       Could you please explain what's the role of handlerxx , revalidatorxx , urcu3, dpdk_watchdog2  threads ?



2.       Pmdxx threads , should continuously poll for new packets on specific NIC/Rx Q , and process the packet , is it correct ?





3.       The vhost_thread1  is continuously  polling for Rx packets form guest VM , and process them , is it correct ?



4.       Could you please explain on which thread/threads context each one of the following scenarios is executed :





a.        NIC ---> OVS --> guest VM : Packet  received in physical NIC (Destination is guest VM)



b.      Guest VM --> OVS --> NIC  out of compute : packet generated in guest VM





c.       Assuming that I'll create a second guest VM , Guest VM#1 --> OVS --> guest vm#2
Your assistance is highly appreciated.
Many thanks in advance
Yossi






-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20160124/d7bea13a/attachment-0002.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image002.png
Type: image/png
Size: 39234 bytes
Desc: image002.png
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20160124/d7bea13a/attachment-0002.png>


More information about the discuss mailing list