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 317A5A0540; Tue, 14 Jul 2020 09:31:49 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1C3D61D540; Tue, 14 Jul 2020 09:31:48 +0200 (CEST) Received: from dal3relay57.mxroute.com (dal3relay57.mxroute.com [64.40.27.57]) by dpdk.org (Postfix) with ESMTP id D107B1D53D for ; Tue, 14 Jul 2020 09:31:45 +0200 (CEST) Received: from filter003.mxroute.com ([168.235.111.26] 168-235-111-26.cloud.ramnode.com) (Authenticated sender: mN4UYu2MZsgR) by dal3relay57.mxroute.com (ZoneMTA) with ESMTPSA id 1734c3c7f84000d684.001 for (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES128-GCM-SHA256); Tue, 14 Jul 2020 07:31:40 +0000 X-Zone-Loop: 0aa7d794e2c4cb764bd7dbbb6d127c2ca964399ec7b2 X-Originating-IP: [168.235.111.26] Received: from echo.mxrouting.net (echo.mxrouting.net [116.202.222.109]) by filter003.mxroute.com (Postfix) with ESMTPS id 58490626AA; Tue, 14 Jul 2020 07:31:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ashroe.eu; s=x; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:MIME-Version:Date: Message-ID:From:References:Cc:To:Subject:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=kBCX5NQka2b10b1IFWKurG5Wwt+hrzof+8UFXAwEo28=; b=UgLks5jLGqF4xlIQOFeV1LMMu+ Ifpf0uuBKfPAiKPxgqBE4Alms556caIkUoD2igrHzPqk8qWGrK10MGPNgLNIkImPovV0PPwnD9Qq4 DzRerU1SrHM5tj12zY3a6m1Tp2KWuRSZArCClPELHMmBB23dLLPdQDbHzksXupJo82WxU5Y9X1F7E txI+X4NjDjMV611fniBIv1qBSUj6kpenA0lM37d6CEH3v8B1Gbj6r0FEKcEFCbI3Hn4V1fvM9hoFC 2J1Yp4Dt1UkdkU6cn0lJQnALQkR9+xyRPRqLSCt6NA6dYYMroC2u1I0PCDZihVCEIu8eipVAmugF3 QNCRx1lw==; To: Stephen Hemminger , Vladimir Medvedkin Cc: dev@dpdk.org, david.marchand@redhat.com, jerinj@marvell.com, thomas@monjalon.net, konstantin.ananyev@intel.com, bruce.richardson@intel.com References: <20200713151919.1d6e88ea@hermes.lan> From: "Kinsella, Ray" Autocrypt: addr=mdr@ashroe.eu; keydata= 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 Message-ID: <98d800b4-41f8-751d-c1a5-5365135c225e@ashroe.eu> Date: Tue, 14 Jul 2020 08:31:32 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20200713151919.1d6e88ea@hermes.lan> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-AuthUser: mdr@ashroe.eu 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 13/07/2020 23:19, Stephen Hemminger wrote: > 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. 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. Thanks, Ray K