15/07/2020 12:35, Medvedkin, Vladimir: > On 15/07/2020 10:47, Thomas Monjalon wrote: > > 14/07/2020 16:38, Stephen Hemminger: > >> "Kinsella, Ray" <m...@ashroe.eu> wrote: > >>> On 13/07/2020 23:19, Stephen Hemminger wrote: > >>>> Did anyone else see the recent AVX512 discussion from Linus: > >>>> "I hope AVX512 dies a painful death, and that Intel starts fixing > >>>> real problems > >>>> instead of trying to create magic instructions to then create > >>>> benchmarks that they can look good on. > >>> > >>> Yup - I saw this one. > >>> Sweeping statements like these are good to provoke debate, the truth is > >>> generally more nuanced. > >>> If you continue to read the post, Linus appears to be mostly questioning > >>> microprocessor design decisions. > >>> > >>> That is an interesting discussion, however the reality is that the > >>> technology does exists and may be beneficial for Packet Processing. > >>> > >>> I would suggest, we continue to apply the same logic governing adoption > >>> of any technology by DPDK. > >>> When the technology is present and a clear benefit is shown, we use it > >>> with caution. > >>> > >>> In the case of Vladimir's patch, > >>> the user has to explicitly switch on the AVX512 lookup with > >>> RTE_FIB_DIR24_8_VECTOR_AVX512. > >> > >> Using what is available makes sense in DPDK. > > > > Why does it require explicit enabling in application? > > AVX512 is not reliable enough to be automatically used when available? > > It is reliable enough. User have to explicitly trigger to avx512 lookup > because using avx512 instructions can reduce the frequency of your > cores. The user knows their environment better. So the scalar version is > used so as not to affect the frequency.
So the user must know which micro-optimization is better for a code they don't know. Reminder: an user is not a developper. I understand we have no better solution though. Can we improve the user experience with some recommendations, numbers, etc?