From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 25F5942B73; Wed, 24 May 2023 00:30:48 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F0C2C40ED8; Wed, 24 May 2023 00:30:47 +0200 (CEST) Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by mails.dpdk.org (Postfix) with ESMTP id 4296F4067E for ; Wed, 24 May 2023 00:30:47 +0200 (CEST) Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-1ae452c2777so3828115ad.0 for ; Tue, 23 May 2023 15:30:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20221208.gappssmtp.com; s=20221208; t=1684881046; x=1687473046; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=WBzFj8ga2oiYiIOXCr13BpXPRHkBG7InrQT3Mcikj9I=; b=02S0iV3/GtbAAvmxZNJPno4UwBaPYvXVmzSDUAhxVGe4mW38kKyQ9IbtzYtIRkEx0X nk6a5d+fca05CIxP8BkRQJUMj9Qaq3h9WCstOVNftn4draTT7z6iuib+90zr0tigwge9 z6IfD3GE4YXn4Ij570qxSfauLiJZPwm9aKCixWsEoUZhq6KD06iiPQuRrwYG4KErmDI1 AEAYW9o4aW3Z/pWPLI6pB3Gd3fy83GMblX+fUoIvAWAInmQjfzbnjgdZA70hx/qc2sZ0 WU1VuXPPGBZL3TvfU/7YkjNO5AzlVemd4r5UphXBj7mTBaYo9eaQCQ7za2pgExyIAZAt uhPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684881046; x=1687473046; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WBzFj8ga2oiYiIOXCr13BpXPRHkBG7InrQT3Mcikj9I=; b=AffCHHGPwZCsPlbobo7sWpG4Oz+wOgaOtBzy0lRXqqbjZI20HPtvd7I6OcX8Ycnh2I uWvYQJsCugjfgojoOXSSo4ousv+9PjZbZAEv7lNVVL3zmz2ydMC1N2copcxVkgnSUzJL GPCqDBFV4D9Z0RixNN8P7FCh1YRWsRYNiOm/cR7MURhG+0fNifZYi7xRs33D2vBz3MLD QQGG8ppqtX851sUOddFlvmmkYz8oQVasij/rA89Q2gD7OZQpZHPFMA3c/Ue50H/8BcsF sZKYy5FDgqTVN4xP+m+dzuUdQecOB8CehUL7V+FUAIT3a5CsfjUYXdi1J44P0weqzmTs DFsg== X-Gm-Message-State: AC+VfDzta43bGYWvCb9lKPokQlbdAS1b4i3ZWs2QqhzsF4ofynzJ+gt6 NURFFsqLZriKgkMKEtb79Flvqw== X-Google-Smtp-Source: ACHHUZ4y3fYuRyS/pVp1WcnLnKnd6hvi7QvfTPnKhTN77KfIobWCkoxtPyIuTNp5wrTRON833gNssw== X-Received: by 2002:a17:902:cec2:b0:1af:cdd9:e970 with SMTP id d2-20020a170902cec200b001afcdd9e970mr3562397plg.12.1684881046451; Tue, 23 May 2023 15:30:46 -0700 (PDT) Received: from hermes.local (204-195-120-218.wavecable.com. [204.195.120.218]) by smtp.gmail.com with ESMTPSA id jh9-20020a170903328900b001a6f7744a27sm7306486plb.87.2023.05.23.15.30.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 May 2023 15:30:46 -0700 (PDT) Date: Tue, 23 May 2023 15:30:44 -0700 From: Stephen Hemminger To: Cc: , , , Konstantin Ananyev , Subject: Re: [PATCH v2 2/3] ip_frag: improve reassembly lookup performance Message-ID: <20230523153044.67619821@hermes.local> In-Reply-To: <20230523143921.7420-2-pbhagavatula@marvell.com> References: <20230523125413.6324-1-pbhagavatula@marvell.com> <20230523143921.7420-1-pbhagavatula@marvell.com> <20230523143921.7420-2-pbhagavatula@marvell.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Tue, 23 May 2023 20:09:20 +0530 wrote: > From: Pavan Nikhilesh > > Improve reassembly lookup performance by using NEON intrinsics for > key validation. > > Signed-off-by: Pavan Nikhilesh > --- > lib/ip_frag/ip_frag_internal.c | 224 +++++++++++++++++++++++++------ > lib/ip_frag/ip_reassembly.h | 6 + > lib/ip_frag/rte_ip_frag_common.c | 10 ++ > 3 files changed, 196 insertions(+), 44 deletions(-) Using a function pointer for the lookup has some downsides. On Intel an indirect call is slower especially with SPECTRE mitigations. The bigger issue is that indirect call will break usage from primary/secondary process with ASLR. If primary sets up table and secondary uses it the function will be in different places.