From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6A899A0540; Tue, 14 Jul 2020 00:19:31 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id AA3801D57C; Tue, 14 Jul 2020 00:19:30 +0200 (CEST) Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) by dpdk.org (Postfix) with ESMTP id 138121D57C for ; Tue, 14 Jul 2020 00:19:28 +0200 (CEST) Received: by mail-pg1-f194.google.com with SMTP id w2so6659877pgg.10 for ; Mon, 13 Jul 2020 15:19:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=z30ZcmBrYb5lyP3S1dqERbFkdGYIiIPoKsieyZRgnxk=; b=QySmquHrJg6CTFam7Qgo8MXUVcLuS9dhRbupz05eqU6syCHC8KU6v0yV6mhsH/bwX6 J2dT0t9EcnU/nUQIhY+zZiiy36oAdDuxA7K91ezfzqmnE4PYsGXa0dpOkEWQx8rOcXzQ YTYfX+rfK16eqKXKgrPUNkFE+Ymx6mIRH4N47aWdZuhYpEpuj9wed2c+vZFtBYp/Brn6 FltyGEFFpbNY0cO70eJJdcTuQmC5Vq6wgdBdf3jLa75VnY3qDc69qkgwod9oBxthrZO9 d6/kQPud3P1lKZ5K2rJEGYJXBbPctOWiEL/mq7Yj/2xHAat6nlIfeyIw5WUGsOITRaEw pMvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=z30ZcmBrYb5lyP3S1dqERbFkdGYIiIPoKsieyZRgnxk=; b=DQP+4dMA/Ua63C4wbvb7SJltM0C2ymy3Rzo6h03csyapxFWVVB3ZfopehWV/hAeGx7 JUcVL1WyKeHRxsnWjz/h4rtVtTgFcXF98c6hduxdUToNL2DQDMUd6y+8JeU2pODElTiO Aa/nbh2K130cvnOLf/Uh8MmR0KVTvcM1g+GQu+O2k7EmGjFOKL+YpRVmjI+UX0WhK1ve PpWxmVa+S9cIPqErtGK8M6W8OtfZ0VaziuSfYExMTVRm4s5lEl3M0nelg6HF33oAi6Cv 4UhCbnWFrw4wth+n75poKK8JnHUtuPGxr0FN/LuzRBGf40r8JkiVIY41MvIVfQytI5eC EzvA== X-Gm-Message-State: AOAM532XB8kYcgRvqfDtxr3cm9M0ovflTlG4D5x3dOvgsW2FSyN4yK7A iMjZxmjrJ5qZ+O8qs4fCMHn9Rg== X-Google-Smtp-Source: ABdhPJw3Q77ihO3ykxAjmd9x10UK2AhW6EGS6XH/+S5LLqmul8fohLWILgH40CCuyNPbH76vsa4yrQ== X-Received: by 2002:a63:2543:: with SMTP id l64mr1064720pgl.164.1594678767956; Mon, 13 Jul 2020 15:19:27 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id n18sm16391109pfd.99.2020.07.13.15.19.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jul 2020 15:19:27 -0700 (PDT) Date: Mon, 13 Jul 2020 15:19:19 -0700 From: Stephen Hemminger To: Vladimir Medvedkin Cc: dev@dpdk.org, david.marchand@redhat.com, jerinj@marvell.com, mdr@ashroe.eu, thomas@monjalon.net, konstantin.ananyev@intel.com, bruce.richardson@intel.com Message-ID: <20200713151919.1d6e88ea@hermes.lan> In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v6 0/8] fib: implement AVX512 vector lookup X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Mon, 13 Jul 2020 12:11:19 +0100 Vladimir Medvedkin wrote: > This patch series implements vectorized lookup using AVX512 for > ipv4 dir24_8 and ipv6 trie algorithms. > Also introduced rte_fib_set_lookup_fn() to change lookup function type. > Added option to select lookup function type in testfib application. > > v6: > - style fixes > > v5: > - prefix zmm macro in rte_vect.h with RTE_X86 > - remove unnecessary typedef for _x86_zmm_t > - reword commit title > - fix typos > > v4: > - use __rte_aligned() instead of using compiler attribute directly > - rework and add comments to meson.build > > v3: > - separate out the AVX-512 code into a separate file > > v2: > - rename rte_zmm to __rte_x86_zmm to reflect its internal usage > - make runtime decision to use avx512 lookup > > Vladimir Medvedkin (8): > eal/x86: introduce AVX 512-bit type > fib: make lookup function type configurable > fib: move lookup definition into the header file > fib: introduce AVX512 lookup > fib6: make lookup function type configurable > fib6: move lookup definition into the header file > fib6: introduce AVX512 lookup > app/testfib: add support for different lookup functions > > app/test-fib/main.c | 58 +++++- > lib/librte_eal/x86/include/rte_vect.h | 19 ++ > lib/librte_fib/Makefile | 24 +++ > lib/librte_fib/dir24_8.c | 281 +++++--------------------- > lib/librte_fib/dir24_8.h | 226 ++++++++++++++++++++- > lib/librte_fib/dir24_8_avx512.c | 165 +++++++++++++++ > lib/librte_fib/dir24_8_avx512.h | 24 +++ > lib/librte_fib/meson.build | 31 +++ > lib/librte_fib/rte_fib.c | 21 +- > lib/librte_fib/rte_fib.h | 24 +++ > lib/librte_fib/rte_fib6.c | 20 +- > lib/librte_fib/rte_fib6.h | 22 ++ > lib/librte_fib/rte_fib_version.map | 2 + > lib/librte_fib/trie.c | 161 +++------------ > lib/librte_fib/trie.h | 119 ++++++++++- > lib/librte_fib/trie_avx512.c | 269 ++++++++++++++++++++++++ > lib/librte_fib/trie_avx512.h | 20 ++ > 17 files changed, 1114 insertions(+), 372 deletions(-) > create mode 100644 lib/librte_fib/dir24_8_avx512.c > create mode 100644 lib/librte_fib/dir24_8_avx512.h > create mode 100644 lib/librte_fib/trie_avx512.c > create mode 100644 lib/librte_fib/trie_avx512.h > 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.