Signed-off-by: Daniele Di Proietto <[email protected]>
---
INSTALL.DPDK.md | 32 ++++++++++++++++++++++++++------
1 file changed, 26 insertions(+), 6 deletions(-)
diff --git a/INSTALL.DPDK.md b/INSTALL.DPDK.md
index 276fe56..e1efc8e 100644
--- a/INSTALL.DPDK.md
+++ b/INSTALL.DPDK.md
@@ -11,8 +11,6 @@ It has not been thoroughly tested.
This version of Open vSwitch should be built manually with `configure`
and `make`.
-OVS needs a system with 1GB hugepages support.
-
Building and Installing:
------------------------
@@ -202,11 +200,12 @@ Using the DPDK with ovs-vswitchd:
interfaces on the same numa node. The following two commands can be used
to configure the multi-threading behavior.
- `ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=<hex string>`
+ `ovs-vsctl set Open_vSwitch . other_config:n-pmd-cores=<integer>`
- The command above asks for a CPU mask for setting the affinity of pmd
- threads. A set bit in the mask means a pmd thread is created and pinned
- to the corresponding CPU core. For more information, please refer to
+ The command above provide a simple way to specify how many cores should be
+ used to receive and process packets. To use one NIC with more than one
+ core, multiple receive queues should be set up: the next command can be
+ used for that purpose. For more information, please refer to
`man ovs-vswitchd.conf.db`
`ovs-vsctl set Open_vSwitch . other_config:n-dpdk-rxqs=<integer>`
@@ -215,6 +214,27 @@ Using the DPDK with ovs-vswitchd:
rx queues are assigned to pmd threads on the same numa node in round-robin
fashion. For more information, please refer to `man ovs-vswitchd.conf.db`
+ If more control is needed on which CPU cores are used, please read on.
+
+ `ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=<hex string>`
+
+ The command above asks for a CPU mask for setting the affinity of pmd
+ threads. A set bit in the mask means a pmd thread is created and pinned
+ to the corresponding CPU core. If the CPU mask is specified, the
+ `other_config:n-pmd-cores` parameter is ignored. For more information,
+ please refer to `man ovs-vswitchd.conf.db`
+
+ Every other OVS thread is bound to the remaining free cores. If other cores
+ should be reserved for other purposes (e.g, for other DPDK clients), a CPU
+ mask can be set with the following command:
+
+ `ovs-vsctl set Open_vSwitch . other_config:nonpmd-cpu-mask=<hex string>`
+
+ The above command will limit OVS non PMD threads on the CPU set specified
+ by the hex string. Please note that core 0 is always used by non PMD
+ threads, even if it is unset in this mask. For more information,
+ please refer to `man ovs-vswitchd.conf.db`
+
Ideally for maximum throughput, the pmd thread should not be scheduled out
which temporarily halts its execution. The following affinitization methods
can help.
--
2.1.4
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev