Hello,

On Fri, Jul 15, 2022 at 5:35 PM Dave Houser <davehous...@gmail.com> wrote:
> DPDK version:  21.11.1
> OVS version:  2.17.2
> OS: ubuntu 18.04
> Kernel: 4.15.0-188-generic
>
> DPDK and OVS were compiled from source.
>
> I am running into a number of issues trying to get OVS to work with DPDK / 
> Mellanox ConnectX6, can someone assist with the following problems below?

ETOOMANYINFO and it seems you skipped some part of the documentations.

For now, here is some help to get a working OVS + DPDK setup.

>
> 1) After restarting the openvswitch-switch service I see the following 
> warning:
>
> ```
> 2022-07-15T14:41:39.548Z|00023|dpdk|WARN|EAL: DPDK is running on a NUMA 
> system, but is compiled without NUMA support.
> 2022-07-15T14:41:39.548Z|00024|dpdk|WARN|EAL: This will have adverse 
> consequences for performance and usability.
> 2022-07-15T14:41:39.548Z|00025|dpdk|WARN|EAL: Please use --legacy-mem option, 
> or recompile with NUMA support.
> ```
>
> This is a DPDK warning, but it's not clear on how I can fix this. I can't 
> find any documentation on how to compile with the "--legacy-mem" option. Is 
> this a meson or ninja parameter? Or how do I "recompile with NUMA support", 
> this is not clear and the DPDK documentation is not clear either.  Or can I 
> just ignore this?

https://doc.dpdk.org/guides-21.11/linux_gsg/sys_reqs.html

Read the requirements, related to NUMA:
"""
Library for handling NUMA (Non Uniform Memory Access).

- numactl-devel in RHEL/Fedora;
- libnuma-dev in Debian/Ubuntu;
- numactl-dev in Alpine Linux
"""

You need to install libnuma-dev, then reconfigure your DPDK build
directory (or erase your build directory and start from scratch), and
finally recompile DPDK.
Once done, relink your OVS binaries against this fresh DPDK.


>
> 2) I am trying to follow these instructions on how to deploy on Ubuntu 
> (https://ubuntu.com/server/docs/openvswitch-dpdk), however the Open_vSwitch 
> table settings presented cause OVS to crash when starting up.
>
> ```
> # Allocate 2G huge pages (not Numa node aware)
> ovs-vsctl set Open_vSwitch . "other_config:dpdk-alloc-mem=2048"

This param makes OVS ask DPDK to preallocate 2G of hugepages.

However, starting 2.17, OVS can ask memory (to DPDK) when needed and
you probably don't need this setting.
I suggest removing it...


> # limit to one whitelisted device
> ovs-vsctl set Open_vSwitch . 
> "other_config:dpdk-extra=--pci-whitelist=0000:04:00.0"

... and this one too.

By default, OVS lets DPDK scan all available devices.
OVS then associates one OVS port (via this port options:dpdk-devargs)
to the available DPDK resources.


But, In any case, your main issue is probably a lack of hugepages, see below.


> ```
>
> 2.1) Trying to run the first command (ovs-vsctl set Open_vSwitch . 
> "other_config:dpdk-alloc-mem=2048") gives me this error:
>
> ```
> 2022-07-15T15:14:05.549Z|00026|dpdk|ERR|EAL: Not enough memory available! 
> Requested: 2048MB, available: 118MB
> ```
> But the system has lots of memory:
> ```
> $ free -g
>               total        used        free      shared  buff/cache   
> available
> Mem:            251          89         113           0          47         
> 159
> Swap:             7           0           7
> ```
> Why am I getting this error? I have 113GB of memory free. Why does DPDK show 
> I only have 118MB?

DPDK expects hugepage memory.
>From this error message (which comes with a DPDK init failure, not a
crash), I suspect you don't have enough hugepages declared.

The DPDK (and OVS) documentation has examples of how to configure this.
Like for example:
https://github.com/openvswitch/ovs/blob/master/Documentation/intro/install/dpdk.rst


-- 
David Marchand

_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to