From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 8A7D83F9 for ; Fri, 6 Jun 2014 10:26:26 +0200 (CEST) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP; 06 Jun 2014 01:26:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.98,987,1392192000"; d="scan'208";a="550711103" Received: from irsmsx101.ger.corp.intel.com ([163.33.3.153]) by fmsmga002.fm.intel.com with ESMTP; 06 Jun 2014 01:26:38 -0700 Received: from irsmsx103.ger.corp.intel.com ([169.254.3.58]) by IRSMSX101.ger.corp.intel.com ([169.254.1.245]) with mapi id 14.03.0123.003; Fri, 6 Jun 2014 09:26:37 +0100 From: "De Lara Guarch, Pablo" To: "Ananyev, Konstantin" , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH 0/2] L3FWD sample optimisation Thread-Index: AQHPdd7LsHcmLi8stUG2Cog/y9I/AJtj1hTA Date: Fri, 6 Jun 2014 08:26:36 +0000 Message-ID: References: <1400777742-498-1-git-send-email-konstantin.ananyev@intel.com> In-Reply-To: <1400777742-498-1-git-send-email-konstantin.ananyev@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.181] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH 0/2] L3FWD sample optimisation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Jun 2014 08:26:27 -0000 Acked-by: Pablo de Lara Guarch > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Konstantin Ananyev > Sent: Thursday, May 22, 2014 5:56 PM > To: dev@dpdk.org; dev@dpdk.org > Subject: [dpdk-dev] [PATCH 0/2] L3FWD sample optimisation >=20 > With latest HW and optimised RX/TX path there is a huge gap between > tespmd iofwd and l3fwd performance results. > So there is an attempt to optimise l3fwd LPM code path and reduce the gap= : > - Instead of processing each input packet up to completion - > divide packet processing into several stages and perform > stage by stage for the whole burst. > - Unroll things by the factor of 4 whenever possible. > - Use SSE instincts for some operations (bswap, replace MAC addresses, e= tc). > - Avoid TX packet buffering whenever possible. > - Move some checks from RX/TX into setup phase. >=20 > app/test/test_lpm.c | 70 ++++ > examples/l3fwd/main.c | 467 +++++++++++++++++= ++++- > lib/librte_eal/common/Makefile | 1 + > lib/librte_eal/common/include/rte_common_vect.h | 93 +++++ > lib/librte_lpm/rte_lpm.h | 117 ++++++ > 5 files changed, 726 insertions(+), 22 deletions(-) > create mode 100644 lib/librte_eal/common/include/rte_common_vect.h >=20 > -- > 1.7.7.6