[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