Hi Flavio,
> > --- a/lib/dpif-netdev-private-extract.h
> > +++ b/lib/dpif-netdev-private-extract.h
> > @@ -77,14 +77,15 @@ enum dpif_miniflow_extract_impl_idx {
> > MFEX_IMPL_AUTOVALIDATOR,
> > MFEX_IMPL_SCALAR,
> > MFEX_IMPL_STUDY,
>
> In a previous patch I mentioned about using MFEX_IMPL_MAX, because here we
> could use the same ifdefs as for the mfex_impls array and for the
> MFEX_IMPL_START_IDX below.
> #if (__x86_64__ && HAVE_AVX512F && HAVE_LD_AVX512_GOOD &&
> __SSE4_2__)
>
> > + MFEX_IMPL_VMBI_IPv4_UDP,
> > + MFEX_IMPL_IPv4_UDP,
>
> #endif
>
> > MFEX_IMPL_MAX
> > };
> >
> > /* Define a index which points to the first traffic optimized MFEX
> > * option from the enum list else holds max value.
> > */
> > -
> > -#define MFEX_IMPL_START_IDX MFEX_IMPL_MAX
> > +#define MFEX_IMPL_START_IDX MFEX_IMPL_VMBI_IPv4_UDP
>
> #if (__x86_64__ && HAVE_AVX512F && HAVE_LD_AVX512_GOOD &&
> __SSE4_2__) #define MFEX_IMPL_START_IDX MFEX_IMPL_VMBI_IPv4_UDP
> #else #define MFEX_IMPL_START_IDX MFEX_IMPL_MAX #endif
>
> Doing so make sure that
> for (i=MFEX_IMPL_START_IDX; i<MFEX_IMPL_MAX; i++) always works
> regardless of avx512 specifics.
>
> Does that make sense?
>
Sounds good to me 😊
>
> >
> > /* This function returns all available implementations to the caller. The
> > * quantity of implementations is returned by the int return value.
> > @@ -155,4 +156,24 @@ mfex_study_traffic(struct dp_packet_batch
> > *packets, uint32_t mfex_set_study_pkt_cnt(uint32_t pkt_cmp_count,
> > const char *name);
> >
> > +/* AVX512 MFEX Probe and Implementations functions. */ #ifdef
> > +__x86_64__ int32_t mfex_avx512_probe(void); int32_t
> > +mfex_avx512_vbmi_probe(void);
> > +
> > +#define DECLARE_AVX512_MFEX_PROTOTYPE(name)
> > \
> > + uint32_t
> > \
> > + mfex_avx512_vbmi_##name(struct dp_packet_batch *packets,
> > \
> > + struct netdev_flow_key *keys, uint32_t
> > keys_size,\
> > + odp_port_t in_port, struct
> > dp_netdev_pmd_thread \
> > + *pmd_handle);
> > \
> > + uint32_t
> > \
> > + mfex_avx512_##name(struct dp_packet_batch *packets,
> > \
> > + struct netdev_flow_key *keys, uint32_t keys_size,
> > \
> > + odp_port_t in_port, struct dp_netdev_pmd_thread
> > \
> > + *pmd_handle);
> > \
> > +
> > +DECLARE_AVX512_MFEX_PROTOTYPE(ip_udp);
> > +#endif /* __x86_64__ */
> > +
> > #endif /* MFEX_AVX512_EXTRACT */
> > --
> > 2.25.1
> >
> > _______________________________________________
> > dev mailing list
> > [email protected]
> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
> --
> fbl
Regards
Amber
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev