[ovs-dev] [PATCH v6 2/2] doc: Refactor DPDK install guide, add ADVANCED doc

Bodireddy, Bhanuprakash bhanuprakash.bodireddy at intel.com
Wed Jun 8 14:20:46 UTC 2016


Thanks Mauricio for your comments. Comments inline.

>+### 3.7 Compiler Optimizations
>+
>+  The default compiler optimization level is '-O2'. Changing this to
>+  more aggressive compiler optimization such as '-O3 -march=native'
>+  with gcc(verified on 5.3.1) can produce performance gains though not
>+  siginificant. '-march=native' will produce optimized code on local machine
>+  and should be used when SW compilation is done on Testbed.
>+
>+## <a name="perftune"></a> 4. Performance Tuning
>+
>
>Reading section 3 I feel all the setting are oriented to the performance, then
>what is the difference between section 3 and 4?

Section 3  talks about BIOS settings, PCIe slot selection, core isolation, NUMA. I have recommended best known configuration but this can vary between server platforms and can be ignored in few cases. Section 4 talks about pmd, qemu threads affinity, MQ, EMC, mrg_rxbuf which are quite generic ones and have to be tuned by users looking for extra performance. 
As you pointed both sections3, 4 are all about achieving optimum performance with OVS DPDK.

>+### 4.1 Affinity
>+
>+For superior performance, DPDK pmd threads and Qemu vCPU threads
>+needs to be affinitized accordingly.
>+
>+  * PMD thread Affinity
>+
>+    A poll mode driver (pmd) thread handles the I/O of all DPDK
>+    interfaces assigned to it. A pmd thread shall poll the ports
>+    for incoming packets, switch the packets and send to tx port.
>+    pmd thread is CPU bound, and needs to be affinitized to isolated
>+    cores for optimum performance.
>+
>+    By setting a bit in the mask, a pmd thread is created and pinned
>+    to the corresponding CPU core. e.g. to run a pmd thread on core 2
>+
>+    `ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=4`
>+
>+    Note: pmd thread on a NUMA node is only created if there is
>+    at least one DPDK interface from that NUMA node added to OVS.
>+
>+  * Qemu vCPU thread Affinity
>+
>+    A VM performing simple packet forwarding or running complex packet
>+    pipelines has to ensure that the vCPU threads performing the work has
>+    as much CPU occupancy as possible.
>+
>+    Example: On a multicore VM, multiple QEMU vCPU threads shall be
>spawned.
>+    when the DPDK 'testpmd' application that does packet forwarding
>+    is invoked, 'taskset' cmd should be used to affinitize the vCPU threads
>+    to the dedicated isolated cores on the host system.
>+
>+### 4.2 Multiple poll mode driver threads
>+

Regards,
Bhanu Prakash.


More information about the dev mailing list