[ovs-dev] [PATCH 11/11] pkt-metadata: Avoid introducing overhead for userspace tunnels.

Ben Pfaff blp at nicira.com
Wed Jun 24 23:01:48 UTC 2015


On Fri, Jun 19, 2015 at 04:13:25PM -0700, Jesse Gross wrote:
> The addition of Geneve metadata requires a large amount of additional
> space to handle the maximum set of options. In most cases, this is
> not a big deal since it is only temporary storage on the stack or
> can be automatically stripped out for miniflows. However, userspace
> tunnels need to deal with this on a per-packet basis, so we should
> avoid introducing additional overhead if possible. Two small changes
> are aimed at this:
> 
>  * Move struct flow_tnl to the end of the packet metadata. Since
>    the Geneve metadata is already at the end of flow_tnl and pkt_metadata
>    is at the end of struct dp_packet, this avoids putting a large
>    amount metadata (which might be empty) in hot cache lines.
> 
>  * Only push the new metadata into a miniflow if any options are present
>    during miniflow_extract(). This does not necessarily provide the
>    most fine-grained flow generation but it is a quick check and
>    the userspace implementation of Geneve does not currently support
>    options anyways.
> 
> Signed-off-by: Jesse Gross <jesse at nicira.com>

Acked-by: Ben Pfaff <blp at nicira.com>



More information about the dev mailing list