Hi Amber,
Minor nit inline, rest looks good.
<snipped>
> diff --git a/lib/dpif-netdev-avx512.c b/lib/dpif-netdev-avx512.c index
> a36f4f312..1db20c1cf 100644
> --- a/lib/dpif-netdev-avx512.c
> +++ b/lib/dpif-netdev-avx512.c
> @@ -61,7 +61,7 @@ struct dpif_userdata { static inline int32_t
> ALWAYS_INLINE dp_netdev_input_avx512__(struct dp_netdev_pmd_thread *pmd,
> struct dp_packet_batch *packets,
> - bool md_is_valid OVS_UNUSED, odp_port_t in_port)
> + bool md_is_valid, odp_port_t in_port)
> {
> /* Allocate DPIF userdata. */
> if (OVS_UNLIKELY(!pmd->netdev_input_func_userdata)) { @@ -73,6 +73,7
> @@ dp_netdev_input_avx512__(struct dp_netdev_pmd_thread *pmd,
> struct netdev_flow_key *keys = ud->keys;
> struct netdev_flow_key **key_ptrs = ud->key_ptrs;
> struct pkt_flow_meta *pkt_meta = ud->pkt_meta;
> + const uint32_t recirc_depth = *recirc_depth_get();
>
> /* The AVX512 DPIF implementation handles rules in a way that is
> optimized
> * for reducing data-movement between HWOL/EMC/SMC and DPCLS. This is
> @@ -106,7 +107,8 @@ dp_netdev_input_avx512__(struct dp_netdev_pmd_thread
> *pmd,
> pkt_metadata_prefetch_init(&packet->md);
> }
>
> - const bool simple_match_enabled = dp_netdev_simple_match_enabled(pmd,
> + const bool simple_match_enabled = !md_is_valid &&
> +
> + dp_netdev_simple_match_enabled(pmd,
>
> in_port);
> /* Check if EMC or SMC are enabled. */
> struct dfc_cache *cache = &pmd->flow_cache; @@ -183,11 +185,14 @@
> dp_netdev_input_avx512__(struct dp_netdev_pmd_thread *pmd,
> }
>
> /* Do a batch minfilow extract into keys. */
> + /* Do a batch minfilow extract into keys, but only for outer
> + packets. */
Nit: minfilow -> miniflow , not your doing, but might as well fix it :). I
think the alignment is also off for this comment.
With the above fixed, I'm happy to ack,
Acked-by: Sunil Pai G <[email protected]>
Thanks and regards
Sunil
<snipped>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev