[ovs-dev] [PATCH] vswitchd: simplify dpdk option parsing.

Daniele Di Proietto diproiettod at vmware.com
Wed Mar 4 18:59:23 UTC 2015


> On 3 Mar 2015, at 09:17, Traynor, Kevin <kevin.traynor at intel.com> wrote:
> 
>> 
>> -----Original Message-----
>> From: Daniele Di Proietto [mailto:diproiettod at vmware.com]
>> Sent: Thursday, February 26, 2015 1:54 PM
>> To: Traynor, Kevin
>> Cc: dev at openvswitch.org
>> Subject: Re: [ovs-dev] [PATCH] vswitchd: simplify dpdk option parsing.
>> 
>> 
>>> On 26 Feb 2015, at 13:19, Traynor, Kevin <kevin.traynor at intel.com> wrote:
>>> 
>>> 
>>>> -----Original Message-----
>>>> From: dev [mailto:dev-bounces at openvswitch.org] On Behalf Of Daniele Di
>>>> Proietto
>>>> Sent: Wednesday, February 25, 2015 4:47 PM
>>>> To: dev at openvswitch.org
>>>> Subject: [ovs-dev] [PATCH] vswitchd: simplify dpdk option parsing.
>>>> 
>>>> With this commit the '--dpdk' option doesn't need to be at the beginning
>>>> of the command line. Furthermode, the code that calls 'rte_eal_init()'
>>>> can be slightly simplified by using the 'optind' variable. The change is
>>>> totally backward compatible
>>>> 
>>> 
>>> I've tested various combinations of this and have seen no issues.
>>> 
>> 
>> Thank you for testing this, it's really appreciated.
>> 
>>>> Documentation and manpages are updated accordingly.
>>>> 
>>>> Signed-off-by: Daniele Di Proietto <diproiettod at vmware.com>
>>>> ---
>>>> INSTALL.DPDK.md            | 14 ++++++++------
>>>> lib/netdev-dpdk.c          | 41 +++++++++++++++++------------------------
>>>> lib/netdev-dpdk.h          | 20 +++++++++++++-------
>>>> vswitchd/ovs-vswitchd.8.in |  9 ++++++---
>>>> vswitchd/ovs-vswitchd.c    | 11 +++++------
>>>> 5 files changed, 49 insertions(+), 46 deletions(-)
>>>> 
>>>> diff --git a/INSTALL.DPDK.md b/INSTALL.DPDK.md
>>>> index 4c443e5..72318a8 100644
>>>> --- a/INSTALL.DPDK.md
>>>> +++ b/INSTALL.DPDK.md
>>>> @@ -77,7 +77,7 @@ Using the DPDK with ovs-vswitchd:
>>>> 
>>>> 1. Setup system boot
>>>>   Add the following options to the kernel bootline:
>>>> -
>>>> +
>>>>   `default_hugepagesz=1GB hugepagesz=1G hugepages=1`
>>>> 
>>>> 2. Setup DPDK devices:
>>>> @@ -139,10 +139,12 @@ Using the DPDK with ovs-vswitchd:
>>>> 
>>>> 5. Start 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.
>>>> +   To initialize DPDK support the '--dpdk' option must be used. It is
>>>> +   followed by suboptions that are passed to the DPDK library. The
>>>> suboptions
>>>> +   list is terminated by `--`: the remaining options are parsed by
>> vswitchd.
>>>> +
>>>> +   Please not that `-c` and `-n` DPDK suboptions are required (although
>> `-c`
>>>> +   is ignored by OVS)
>>> 
>>> typo - "Please note”
>>> 
>> 
>> Oops, I’ll fix that
>> 
>>> "-c is ignored by OVS" is true, but it may mislead that it has no
>>> impact on OVS operation - it impacts the core affinity of the vswitchd
>>> process, so might be worth adding that.
>>> 
>> 
>> -c is passed to DPDK, but it is ignored by OVS. To configure the threads and
>> the affinity we currently use the database key "other_config:pmd-cpu-mask”
>> (INSTALL.DPDK.md “Performance tuning”). Perhaps we should add a reference to
>> the database key here? That’s probably going to change somehow, in an effort
>> to ease OVS DPDK deployments. Thoughts?
> 
> The db key is just for the PMD(s). All the other vswitchd threads run on the 
> lowest core specified in the -c option, so probably we should mention that.
> 

You’re right, they do. If you agree I'd prefer changing that (seems a weird
behaviour). I’ll post something soon

Thanks



More information about the dev mailing list