[ovs-dev] [PATCH v3 1/3] dpdk: Logs to announce removal of defaults for socket-mem and limit.

Kevin Traynor ktraynor at redhat.com
Fri Jul 16 13:25:23 UTC 2021


On 16/07/2021 14:19, Stokes, Ian wrote:
>> On 15/07/2021 22:37, Rosemarie O'Riorden wrote:
>>> Deprecate current OVS provided defaults for DPDK socket-mem and
>>> socket-limit that are planned to be removed in OVS 2.17. At that point
>>> DPDK defaults will be used instead. Warnings have been added to alert
>>> users in advance.
>>>
>>
>> A few very minor things in the series, otherwise they lgtm. UT passing,
>> GHA passing. thanks.
>>
>> +cc for David Wilder.
>>
>> David, please see this patchset and as OVS will in future no longer
>> construct the --socket-mem/socket-limit values, you might want to check
>> that the DPDK defaults are working ok for PPC. If not, you still have
>> time to fix them for DPDK 21.11 before OVS 2.17.
>>
> 
> 
> I think this patch should be applied to the master branch today in time for branch of the 2.16 release. Patch 2 and 3 should be left to master after 2.16 branches.
> 

That makes sense.

> @Kevin Traynor Am I ok to add you ack here?
> 

Yes, thanks.

Acked-by: Kevin Traynor <ktraynor at redhat.com>

> I can make the minor changes below on commit.
> 
> Regards
> Ian
> 
> 
>>> Signed-off-by: Rosemarie O'Riorden <roriorde at redhat.com>
>>> ---
>>> Version 3:
>>>  - Fixed typo and edited commit message.
>>>
>>>  Documentation/intro/install/dpdk.rst |  3 ++-
>>>  NEWS                                 |  2 ++
>>>  lib/dpdk.c                           | 11 +++++++++++
>>>  vswitchd/vswitch.xml                 |  8 ++++++--
>>>  4 files changed, 21 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/Documentation/intro/install/dpdk.rst
>> b/Documentation/intro/install/dpdk.rst
>>> index 612f2fdbc..d8fa931fa 100644
>>> --- a/Documentation/intro/install/dpdk.rst
>>> +++ b/Documentation/intro/install/dpdk.rst
>>> @@ -291,7 +291,8 @@ listed below. Defaults will be provided for all values
>> not explicitly set.
>>>  ``dpdk-socket-mem``
>>>    Comma separated list of memory to pre-allocate from hugepages on specific
>>>    sockets. If not specified, 1024 MB will be set for each numa node by
>>> -  default.
>>> +  default. This behavior will change with the 2.17 release, with no default
>>> +  value from OVS. Instead, DPDK default will be used.
>>>
>>>  ``dpdk-hugepage-dir``
>>>    Directory where hugetlbfs is mounted
>>> diff --git a/NEWS b/NEWS
>>> index dddd57fc2..126f5a927 100644
>>> --- a/NEWS
>>> +++ b/NEWS
>>> @@ -29,6 +29,8 @@ Post-v2.15.0
>>>         Available only if DPDK experimantal APIs enabled during the build.
>>>       * Add hardware offload support for VXLAN flows (experimental).
>>>         Available only if DPDK experimantal APIs enabled during the build.
>>> +     * EAL options --socket-mem and --socket-limit to have default values
>>> +       removed with 2.17 release. Logging added to alert users.
>>>     - ovsdb-tool:
>>>       * New option '--election-timer' to the 'create-cluster' command to set the
>>>         leader election timer during cluster creation.
>>> diff --git a/lib/dpdk.c b/lib/dpdk.c
>>> index 0c910092c..b70c01cf4 100644
>>> --- a/lib/dpdk.c
>>> +++ b/lib/dpdk.c
>>> @@ -217,6 +217,7 @@ construct_dpdk_mutex_options(const struct smap
>> *ovs_other_config,
>>>          int found_opts = 0, scan, found_pos = -1;
>>>          const char *found_value;
>>>          struct dpdk_exclusive_options_map *popt = &excl_opts[i];
>>> +        bool using_default = false;
>>>
>>>          for (scan = 0; scan < MAX_DPDK_EXCL_OPTS
>>>                   && popt->ovs_dpdk_options[scan]; ++scan) {
>>> @@ -233,6 +234,7 @@ construct_dpdk_mutex_options(const struct smap
>> *ovs_other_config,
>>>              if (popt->default_option) {
>>>                  found_pos = popt->default_option;
>>>                  found_value = popt->default_value;
>>> +                using_default = true;
>>>              } else {
>>>                  continue;
>>>              }
>>> @@ -245,6 +247,12 @@ construct_dpdk_mutex_options(const struct smap
>> *ovs_other_config,
>>>          }
>>>
>>>          if (!args_contains(args, popt->eal_dpdk_options[found_pos])) {
>>> +            if (using_default) {
>>> +                VLOG_INFO("Using default value for '%s'. OVS will no longer "
>>> +                          "provide a default for this argument starting "
>>> +                          "from 2.17 release. DPDK defaults will be used "
>>> +                          "instead.", popt->eal_dpdk_options[found_pos]);
>>> +            }
>>>              svec_add(args, popt->eal_dpdk_options[found_pos]);
>>>              svec_add(args, found_value);
>>>          } else {
>>> @@ -482,6 +490,9 @@ dpdk_init__(const struct smap *ovs_other_config)
>>>          if (i < args.n - 1) {
>>>              svec_add(&args, "--socket-limit");
>>>              svec_add(&args, args.names[i + 1]);
>>> +            VLOG_INFO("Using default value for '--socket-limit. OVS will no "
>>
>> '--socket-limit is missing the closing apostrophe
>>
>>> +                      "longer provide a default for this argument starting "
>>> +                      "from 2.17 release. DPDK defaults will be used instead.");
>>
>> checkpatch is complaining about the last line length
>>
>> WARNING: Line is 80 characters long (recommended limit is 79)
>> #69 FILE: lib/dpdk.c:495:
>>                       "from 2.17 release. DPDK defaults will be used
>> instead.");
>>
>>
>>>          }
>>>      }
>>>
>>> diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
>>> index 3522b2497..c26ebb796 100644
>>> --- a/vswitchd/vswitch.xml
>>> +++ b/vswitchd/vswitch.xml
>>> @@ -365,8 +365,10 @@
>>>            If dpdk-socket-mem and dpdk-alloc-mem are not specified, dpdk-socket-
>> mem
>>>            will be used and the default value is 1024 for each numa node. If
>>>            dpdk-socket-mem and dpdk-alloc-mem are specified at same time,
>>> -          dpdk-socket-mem will be used as default. Changing this value
>>> -          requires restarting the daemon.
>>> +          dpdk-socket-mem will be used as default. With the 2.17 release,
>>> +          dpdk-socket-mem will no longer be used by default. DPDK defaults will
>>> +          be used instead.
>>> +          Changing this value requires restarting the daemon.
>>>          </p>
>>>        </column>
>>>
>>> @@ -388,6 +390,8 @@
>>>            options specified or <code>--legacy-mem</code> provided in
>>>            <ref column="other_config" key="dpdk-extra"/>, limits will not be
>>>            applied.
>>> +          With the 2.17 release, the OVS default value will no longer be
>>> +          provided, and DPDK defaults will be used instead.
>>>            Changing this value requires restarting the daemon.
>>>          </p>
>>>        </column>
>>>
> 



More information about the dev mailing list