[ovs-dev] [PATCH v2] dpdk: Support both shared and per port mempools.
ktraynor at redhat.com
Thu Jun 28 14:20:44 UTC 2018
On 06/27/2018 02:58 PM, Ian Stokes wrote:
> This commit re-introduces the concept of shared mempools as the default
> memory model for DPDK devices. Per port mempools are still available but
> must be enabled explicitly by a user.
> OVS previously used a shared mempool model for ports with the same MTU
> and socket configuration. This was replaced by a per port mempool model
> to address issues flagged by users such as:
> However the per port model potentially requires an increase in memory
> resource requirements to support the same number of ports and configuration
> as the shared port model.
> This is considered a blocking factor for current deployments of OVS
> when upgrading to future OVS releases as a user may have to redimension
> memory for the same deployment configuration. This may not be possible for
> This commit resolves the issue by re-introducing shared mempools as
> the default memory behaviour in OVS DPDK but also refactors the memory
> configuration code to allow for per port mempools.
> This patch adds a new global config option, per-port-memory, that
> controls the enablement of per port mempools for DPDK devices.
> ovs-vsctl set Open_vSwitch . other_config:per-port-memory=true
> This value defaults to false; to enable per port memory support,
> this field should be set to true when setting other global parameters
> on init (such as "dpdk-socket-mem", for example). Changing the value at
> runtime is not supported, and requires restarting the vswitch
> The mempool sweep functionality is also replaced with the
> sweep functionality from OVS 2.9 found in commits
> c77f692 (netdev-dpdk: Free mempool only when no in-use mbufs.)
> a7fb0a4 (netdev-dpdk: Add mempool reuse/free debug.)
> A new document to discuss the specifics of the memory models and example
> memory requirement calculations is also added.
> Signed-off-by: Ian Stokes <ian.stokes at intel.com>
LGTM - thanks Ian
Acked-by: Kevin Traynor <ktraynor at redhat.com>
More information about the dev