[ovs-dev] [RFC PATCH v2] netdev-dpdk: NUMA Aware vHost

Ben Pfaff blp at ovn.org
Wed Mar 30 17:50:12 UTC 2016


On Wed, Mar 16, 2016 at 02:36:55PM +0000, Ciara Loftus wrote:
> This commit allows for vHost memory from QEMU, DPDK and OVS, as well
> as the servicing PMD, to all come from the same socket.
> 
> DPDK v2.2 introduces a new configuration option:
> CONFIG_RTE_LIBRTE_VHOST_NUMA. If enabled, DPDK detects the socket
> from which a vhost device's memory has been allocated by QEMU, and
> accordingly reallocates device memory managed by DPDK to that same
> socket.
> 
> OVS by default sets the socket id of a vhost port to that of the
> master lcore. This commit introduces the ability to update the
> socket id of the port if it is detected (during VM boot) that the
> port memory is not on the default NUMA node. If this is the case, the
> mempool of the port is also changed to the new node, and a PMD
> thread currently servicing the port will no longer, in favour of a
> thread from the new node (if enabled in the CPU mask).
> 
> Signed-off-by: Ciara Loftus <ciara.loftus at intel.com>

The change below to acinclude.m4 makes it appear that libnuma is now
mandatory for building with DPDK support, but I did not notice any
update to INSTALL.DPDK.md to explain that the user must now install
libnuma.

> diff --git a/acinclude.m4 b/acinclude.m4
> index 74f0494..e06ace9 100644
> --- a/acinclude.m4
> +++ b/acinclude.m4
> @@ -195,7 +195,7 @@ AC_DEFUN([OVS_CHECK_DPDK], [
>      found=false
>      save_LIBS=$LIBS
>      for extras in "" "-ldl"; do
> -        LIBS="$DPDK_LIB $extras $save_LIBS $DPDK_EXTRA_LIB"
> +        LIBS="$DPDK_LIB $extras $save_LIBS $DPDK_EXTRA_LIB -lnuma"
>          AC_LINK_IFELSE(
>             [AC_LANG_PROGRAM([#include <rte_config.h>
>                               #include <rte_eal.h>],

I didn't otherwise review the patch.

Thanks,

Ben.



More information about the dev mailing list