[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