Hi Mark,

        Thank you for your response.
        We are seeing single PMD thread even after setting pmd-cpu-mask to 3 as 
below after starting the vswitchd daemon.

          ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=3

        Our system is a 8 core ARM system.  Below are the steps we are running 
and the corresponding debug logs.
-----------------------------------------------------------------------------------------------------------------------
root@ls2085ardb:/tmp# mkdir -p /dev/hugepages
root@ls2085ardb:/tmp# mount -t hugetlbfs -o pagesize=1G none /dev/hugepages
root@ls2085ardb:/tmp# mkdir -p /usr/local/etc/openvswitch
root@ls2085ardb:/tmp# mkdir -p /usr/local/var/run/openvswitch
root@ls2085ardb:/tmp# rm /usr/local/etc/openvswitch/conf.db
rm: cannot remove '/usr/local/etc/openvswitch/conf.db': No such file or 
directory
root@ls2085ardb:/tmp#/tmp/ovsdb/ovsdb-tool create 
/usr/local/etc/openvswitch/conf.db /tmp/vswitchd/vswitch.ovsschema
root@ls2085ardb:/tmp# /tmp/ovsdb/ovsdb-server 
--remote=punix:/usr/local/var/run/openvswitch/db.sock 
--remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach 
--log-file=/var/log/openvswitch/ovs-vswitchd.log
2019-04-02T13:24:30Z|00001|vlog|WARN|failed to open 
/var/log/openvswitch/ovs-vswitchd.log for logging: No such file or directory
root@ls2085ardb:/tmp# /tmp/utilities/ovs-vsctl --no-wait init
root@ls2085ardb:/tmp# export DB_SOCK=/usr/local/var/run/openvswitch/db.sock
root@ls2085ardb:/tmp# vswitchd/ovs-vswitchd --dpdk -c 0x1 -n 4 --socket-mem 
1024  -- unix:$DB_SOCK --pidfile 
--log-file=/var/log/openvswitch/ovs-vswitchd2.log
2019-04-02T13[  157.753639] Bits 55-60 of /proc/PID/pagemap entries are about 
to stop being page-shift some time soon. See the 
linux/Documentation/vm/pagemap.txt for details.
:24:43Z|00001|dpdk|INFO|No -vhost_sock_dir provided - defaulting to 
/usr/local/var/run/openvswitch
EAL: VFIO support initialized
EAL: cannot open /proc/self/numa_maps, consider that all memory is in socket_id 0
        Processing Container = dprc.2
        container device path = /sys/bus/fsl-mc/devices/dprc.2
EAL: DPAA2-Unused container at index 0
-->Initial SHM Virtual ADDR FFFD80000000
-----> DMA size 0x40000000
-----> dma_map.vaddr = 0xFFFD80000000

Zone 0: name:<RG_MP_log_history>, phys:0x81bfffd640, len:0x2080, 
virt:0xfffdbfffd640, socket_id:0, flags:0
Zone 1: name:<MP_log_history>, phys:0x81bfedd2c0, len:0x1202c0, 
virt:0xfffdbfedd2c0, socket_id:0, flags:0
Zone 2: name:<rte_eth_dev_data>, phys:0x81bfeada80, len:0x2f800, 
virt:0xfffdbfeada80, socket_id:0, flags:0
2019-04-02T13:24:47Z|00002|vlog|WARN|failed to open 
/var/log/openvswitch/ovs-vswitchd2.log for logging: No such file or directory
changing path******************
2019-04-02T13:24:47Z|00003|reconnect|INFO|unix:/usr/local/var/run/openvswitch/db.sock:
 connecting...
2019-04-02T13:24:47Z|00004|reconnect|INFO|unix:/usr/local/var/run/openvswitch/db.sock:
 connected
Discovered 1 CPU cores on NUMA node 0
 Discovered 1 NUMA nodes and 1 CPU cores

2019-04-02T13:24:47Z|00005|bridge|INFO|ovs-vswitchd (Open vSwitch) 2.5.0

root@ls2085ardb:/tmp#/tmp/utilities/ovs-vsctl set Open_vSwitch . 
other_config:pmd-cpu-mask=3

2019-04-02T13:24:59Z|00006|memory|INFO|4492 kB peak resident set size after 
16.5 seconds


root@ls2085ardb:/tmp#/tmp/utilities/ovs-vsctl add-br br0 -- set bridge br0 
datapath_type=netdev
[  191.114980] device ovs-netdev entered promiscuous mode
[  191.126539] device br0 entered promiscuous mode
2019-04-02T13:25:16Z|00007|ofproto_dpif|INFO|netdev@ovs-netdev: Datapath 
supports recirculation
2019-04-02T13:25:16Z|00008|ofproto_dpif|INFO|netdev@ovs-netdev: MPLS label 
stack length probed as 3
2019-04-02T13:25:16Z|00009|ofproto_dpif|INFO|netdev@ovs-netdev: Datapath 
supports unique flow ids
2019-04-02T13:25:16Z|00010|ofproto_dpif|INFO|netdev@ovs-netdev: Datapath does 
not support ct_state
2019-04-02T13:25:16Z|00011|ofproto_dpif|INFO|netdev@ovs-netdev: Datapath does 
not support ct_zone
2019-04-02T13:25:16Z|00012|ofproto_dpif|INFO|netdev@ovs-netdev: Datapath does 
not support ct_mark
2019-04-02T13:25:16Z|00013|ofproto_dpif|INFO|netdev@ovs-netdev: Datapath does 
not support ct_label
2019-04-02T13:25:16Z|00014|bridge|INFO|bridge br0: added interface br0 on port 
65534
2019-04-02T13:25:16Z|00015|dpif_netlink|ERR|Generic Netlink family 
'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not 
loaded.
2019-04-02T13:25:16Z|00016|bridge|INFO|bridge br0: using datapath ID 
00005e5d815f8145
2019-04-02T13:25:16Z|00017|netdev_linux|WARN|query br0 qdisc failed (Operation 
not supported)
2019-04-02T13:25:16Z|00018|netdev_linux|WARN|br0: removing policing failed: 
Operation not supported
2019-04-02T13:25:16Z|00019|connmgr|INFO|br0: added service controller 
"punix:/usr/local/var/run/openvswitch/br0.mgmt"
2019-04-02T13:25:16Z|00020|netdev_linux|WARN|br0: removing policing failed: 
Operation not supported


root@ls2085ardb:/tmp#/tmp/utilities/ovs-vsctl add-port br0 dpdk0 -- set 
Interface dpdk0 type=dpdk
2019-04-02T13:25:26Z|00021|memory|INFO|peak resident set size grew 322% in last 
26.9 seconds, from 4492 kB to 18944 kB
2019-04-02T13:25:26Z|00022|memory|INFO|handlers:5 ports:1 revalidators:3 rules:5
netdev_dpdk_construct:817, netdev 0xfffdbfeab240, port name dpdk0, port number 
is 0
netdev_dpdk_init:677, type is DPDK_DEV_ETH, sid 0
dpdk_eth_dev_queue_setup:492, rte_eth_dev_configured with port_id 0, n_rxq 1, 
n_txq 1
2019-04-02T13:25:32Z|00023|dpdk|INFO|Port 0: 00:00:00:00:00:01
do_add_port:1158, netdev_is_pmd, numa_id 0
do_add_port:1162, netdev_n_rxq(netdev) 1
do_add_port:1165, pmd (nil)
dp_netdev_set_pmds_on_numa:3082, can_have 1, dp->pmd_cmask 3d1d4f60, n_unpinned 
1, NR_PMD_THREADS 2
2019-04-02T13:25:32Z|00024|dpif_netdev|INFO|Created 1 pmd threads on numa node 0
2019-04-02T13:25:32Z|00025|bridge|INFO|bridge br0: added interface dpdk0 on 
port 1
2019-04-02T13:25:32Z|00026|bridge|INFO|bridge br0: using datapath ID 
0000000000000001
2019-04-02T13:25:32Z|00027|netdev_linux|WARN|br0: removing policing failed: 
Operation not supported
2019-04-02T13:25:32Z|00028|netdev_linux|WARN|br0: removing policing failed: 
Operation not supported
2019-04-02T13:25:32Z|00001|dpif_netdev(pmd20)|INFO|Core 0 processing port 
'dpdk0'

root@ls2085ardb:/tmp#/tmp/utilities/ovs-vsctl add-port br0 dpdk1 -- set 
Interface dpdk1 type=dpdk
netdev_dpdk_construct:817, netdev 0xfffd97890540, port name dpdk1, port number 
is 1
dpdk_eth_dev_queue_setup:492, rte_eth_dev_configured with port_id 1, n_rxq 1, 
n_txq 1
2019-04-02T13:25:54Z|00029|dpdk|INFO|Port 1: 00:00:00:00:00:02
do_add_port:1158, netdev_is_pmd, numa_id 0
do_add_port:1162, netdev_n_rxq(netdev) 1
do_add_port:1165, pmd 0x3d1dd2f0
2019-04-02T13:25:54Z|00002|dpif_netdev(pmd20)|INFO|Core 0 processing port 
'dpdk0'
2019-04-02T13:25:54Z|00003|dpif_netdev(pmd20)|INFO|Core 0 processing port 
'dpdk1'
2019-04-02T13:25:54Z|00030|bridge|INFO|bridge br0: added interface dpdk1 on 
port 2
2019-04-02T13:25:54Z|00031|netdev_linux|WARN|br0: removing policing failed: 
Operation not supported
----------------------------------------------------------------------------------------------------------------------------------------------------------

          Could you please let us know, if we are missing anything.

Regards,
Bhanu.


From: Kavanagh, Mark B [mailto:mark.b.kavan...@intel.com]
Sent: Tuesday, May 17, 2016 9:14 PM
To: Bhanu Chander Gaddoju; discuss@openvswitch.org
Cc: Prasad Gorja
Subject: RE: Multiple PMD threads for DPDK ports

Hi Bhanu,

You can use the pmd-cpu-mask to create multiple PMDs.

Open  http://openvswitch.org/ovs-vswitchd.conf.db.5.pdf  and search for 
'pmd-cpu-mask'.

Cheers,
Mark

From: discuss [mailto:discuss-boun...@openvswitch.org] On Behalf Of Bhanu 
Chander Gaddoju
Sent: Tuesday, May 17, 2016 7:21 AM
To: discuss@openvswitch.org<mailto:discuss@openvswitch.org>
Cc: Prasad Gorja
Subject: [ovs-discuss] Multiple PMD threads for DPDK ports

Hi All,

             I am creating a OVS bridge and attaching two dpdk ports(dpdk0 and 
dpdk1) to that bridge. I am using OVS version 2.5. After attaching the two 
ports to the bridge, I am observing that only one PMD thread is getting created 
for the two dpdk ports.
             Based on the OVS code, I understand that, OVS is finding the NUMA 
nodes and cores during initialization and it is creating PMD threads based on 
the number of cores of NUMA nodes. In my test case, I am seeing the number of 
numa nodes as 1 and cores as 1. is it possible in OVS to create a PMD thread 
per dpdk port?
         If possible, I would like to know how can I create two PMD threads in 
this case. Could anyone help me on this.

Regards,
Bhanu.
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to