On 08/12/15 17:31, Gray, Mark D wrote:


-----Original Message-----
From: Ben Pfaff [mailto:b...@ovn.org]
Sent: Tuesday, December 8, 2015 4:50 PM
To: Gray, Mark D
Cc: Traynor, Kevin; dev@openvswitch.org
Subject: Re: [ovs-dev] [PATCH] INSTALL.DPDK.md: Clarify DPDK arguments.

On Tue, Dec 08, 2015 at 04:41:37PM +0000, Gray, Mark D wrote:
-----Original Message-----
From: dev [mailto:dev-boun...@openvswitch.org] On Behalf Of Kevin
Traynor
Sent: Monday, December 7, 2015 5:58 PM
To: dev@openvswitch.org
Subject: [ovs-dev] [PATCH] INSTALL.DPDK.md: Clarify DPDK arguments.

Add some information about the DPDK -c and -n parameters.

Signed-off-by: Kevin Traynor <kevin.tray...@intel.com>
Reported-by: Zoltan Kiss <zoltan.k...@linaro.org>
---
  INSTALL.DPDK.md |   14 ++++++++++++--
  1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/INSTALL.DPDK.md b/INSTALL.DPDK.md index
96b686c..ee016da
100644
--- a/INSTALL.DPDK.md
+++ b/INSTALL.DPDK.md
@@ -145,8 +145,18 @@ Using the DPDK with ovs-vswitchd:

     DPDK configuration arguments can be passed to vswitchd via `--dpdk`
     argument. This needs to be first argument passed to vswitchd process.
-   dpdk arg -c is ignored by ovs-dpdk, but it is a required parameter
-   for dpdk initialization.
+   The DPDK configuration arguments are passed to DPDK during DPDK
+   initialization.
+
+   The DPDK -c coremask is a required argument. To avoid wasted
resources
+   only one core should be set. The standard OVS threads (e.g. main
+   process, handler, revalidator) will run on the core that is specified.

Might be worth mentioning that then there is a corresponding potential
decrease in performance of revalidation and flow handling.

With the kernel datapath, OVS sets up flows and revalidates them on
multiple cores.  You're saying that with DPDK it only uses one core?
Why?

In my opinion, the core mask should define the affinities of the other
threads (main, process, handler, revalidator) and the pmd-cpu-mask

That would sound good, but I'm afraid you can't really influence how DPDK interprets the -c parameter. Maybe you can delegate the tasks of the non-pmd threads to the lcore threads (via rte_eal_[mp_]remote_launch() functions), but I'm not sure if its viable.

should define the affinities of the packet processing threads. However,
I don't know if this was the intended behavior because the name is a little
too generic ("core mask").  If this was the intended behavior, Kevin and I
just did some tests, and it is not behaving like this.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to