[ovs-dev] PATCH 1/1 : netdev-dpdk / add dpdk rings to netdev-dpdk

Pravin Shelar pshelar at nicira.com
Wed May 7 18:21:37 UTC 2014

On Wed, May 7, 2014 at 8:49 AM, Rogers, Gerald <gerald.rogers at intel.com> wrote:
> Pravin,
> On the 1GB page question.  The patch simply allocates the rings and
> creates a port.  You can allocate more than a single 1 GB page, the
> restriction is that it would need 1GB pages.  The entire Huge Page
> allocated by DPDK is passed to each Virtual Machine, and all VM¹s share
> this memory.  There exists an API in DPDK to store the memory utilized by
> the ring so that you can use pages smaller than 1GB.  Using this API, you
> can allocate to a single VM only the memory associated with the ring and
> the rings mbuf.  However, when using this API any traffic too and from the
> VM will need to incur a copy.  The reason is that each VM would be
> isolated from the others by which memory in the Huge Page Table mapping
> they are given.  If you use just 1GB pages, then you can communicate
> between VM¹s without incurring a copy penalty.  I chose not to implement
> it using the API because I wanted the ivshmem to obtain the best
> performance (ie. No copies).  A patch we are working to release in a
> couple of weeks will support vHost within DPDK, thus eliminating the
> isolation (ie. Shared memory) issues with ivshmem.  This vHost patch will
> incur a performance penalty since copies are involved.  The vHost
> implementation also won¹t have the 1GB page limitation.

> As for the formatting issues, is there a ³c² pretty print formatter I can
> run on ovs_client.c to make it conform to coding standards?

I do not know such tool, I think you have to do it manually.


More information about the dev mailing list