This RFC patch makes use of the CONFIG_RTE_LIBRTE_VHOST_NUMA option available in DPDK v2.2 that relocates vhost device memory managed by DPDK to the same NUMA node that QEMU device memory is located on. In OVS, now the mempool and PMD servicing the port are attempted to be relocated to this NUMA node as well. Previously, they always remained on the NUMA node of the master lcore.
This patch makes use of the netdev-reconfigure functionality implemented in a recent patchset by Daniele Di Proietto: http://openvswitch.org/pipermail/dev/2016-March/067806.html The following patch for DPDK is needed in order to avoid a memory error in DPDK. It is available on the current DPDK master branch or here: http://dpdk.org/dev/patchwork/patch/9623/ Tested with QEMU v2.5.0 v2: - Updated build scripts to include information on required numa packages. - As suggested by Danielle, introduced requested_socket_id variable to record request to change numa id that will then be updated during the call to netdev_dpdk_vhost_user_reconfigure rather than during the new_device call. Mempool is also changed within the reconfigure function. .travis.yml | 3 +++ INSTALL.DPDK.md | 10 +++++++++- acinclude.m4 | 2 +- lib/netdev-dpdk.c | 37 ++++++++++++++++++++++++++++++++++--- rhel/openvswitch-fedora.spec.in | 1 + 5 files changed, 48 insertions(+), 5 deletions(-) -- 2.4.3 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev