From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 87FD7201 for ; Wed, 5 Apr 2017 14:52:56 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=intel.com; i=@intel.com; q=dns/txt; s=intel; t=1491396776; x=1522932776; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=QTMDy2QDy4DFuLjzMcuVellMub7F7TbdsLakvDPMRMs=; b=nVG8Xv0pKq1CWhybNp/eKLNKBTax95vXWeLFAmfwU2jHMsvB1mrOLonh UGk1Yd4ZrRxndQcvLoDIBNFSiH7cUQ==; Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Apr 2017 05:52:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,278,1486454400"; d="scan'208";a="1131335803" Received: from irsmsx102.ger.corp.intel.com ([163.33.3.155]) by fmsmga001.fm.intel.com with ESMTP; 05 Apr 2017 05:52:54 -0700 Received: from irsmsx103.ger.corp.intel.com ([169.254.3.241]) by IRSMSX102.ger.corp.intel.com ([169.254.2.153]) with mapi id 14.03.0319.002; Wed, 5 Apr 2017 13:52:53 +0100 From: "Singh, Jasvinder" To: "Richardson, Bruce" , Thomas Monjalon CC: "dev@dpdk.org" , "olivier.matz@6wind.com" , "Doherty, Declan" , "De Lara Guarch, Pablo" Thread-Topic: [dpdk-dev] [PATCH v9 0/3] librte_net: add crc computation support Thread-Index: AQHSrfA5FKU05yYa+US21Vs1MuRuFKG2tbHQ Date: Wed, 5 Apr 2017 12:52:52 +0000 Message-ID: <54CBAA185211B4429112C315DA58FF6D31B496A1@IRSMSX103.ger.corp.intel.com> References: <1490873422-13734-2-git-send-email-jasvinder.singh@intel.com> <1613321.D1UC30mH7n@xps13> <54CBAA185211B4429112C315DA58FF6D31B493E5@IRSMSX103.ger.corp.intel.com> <4843218.AadDjlxfvY@xps13> <59AF69C657FD0841A61C55336867B5B066751DB3@IRSMSX103.ger.corp.intel.com> In-Reply-To: <59AF69C657FD0841A61C55336867B5B066751DB3@IRSMSX103.ger.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNjY1MDMyMjMtOGM3OS00MDMxLWE0MzQtMjFiZjk4YWFlMjY5IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6IkhtVTFoeFhsSWlMSzJ0T0FvUEVNRTJFY1o2OGN1SE1rOXpNOEFcL2FydWJBPSJ9 x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 10.0.102.7 dlp-reaction: no-action x-originating-ip: [163.33.239.180] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v9 0/3] librte_net: add crc computation support 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: , X-List-Received-Date: Wed, 05 Apr 2017 12:52:57 -0000 Hi Bruce, > -----Original Message----- > From: Richardson, Bruce > Sent: Wednesday, April 5, 2017 10:37 AM > To: Thomas Monjalon ; Singh, Jasvinder > > Cc: dev@dpdk.org; olivier.matz@6wind.com; Doherty, Declan > ; De Lara Guarch, Pablo > > Subject: RE: [dpdk-dev] [PATCH v9 0/3] librte_net: add crc computation > support >=20 >=20 >=20 > > -----Original Message----- > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas Monjalon > > Sent: Wednesday, April 5, 2017 10:01 AM > > To: Singh, Jasvinder > > Cc: dev@dpdk.org; olivier.matz@6wind.com; Doherty, Declan > > ; De Lara Guarch, Pablo > > > > Subject: Re: [dpdk-dev] [PATCH v9 0/3] librte_net: add crc computation > > support > > > > 2017-04-05 08:34, Singh, Jasvinder: > > > Hi Thomas, > > > > > > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com] > > > > 2017-03-30 17:15, Jasvinder Singh: > > > > > In some applications, CRC (Cyclic Redundancy Check) needs to be > > > > > computed or updated during packet processing operations. This > > > > > patchset adds software implementation of some common standard > > > > > CRCs (32-bit Ethernet CRC as per Ethernet/[ISO/IEC 8802-3] and > > > > > 16-bit CCITT-CRC [ITU-T > > > > X.25]). > > > > > Two versions of each 32-bit and 16-bit CRC calculation are propos= ed. > > > > > > > > > > The first version presents a fast and efficient CRC generation > > > > > on IA processors by using the carry-less multiplication > > > > > instruction PCLMULQDQ (i.e SSE4.2 instrinsics). In this > > > > > implementation, a parallelized folding approach has been used to > > > > > first reduce an arbitrary length buffer to a small fixed size > > > > > length buffer (16 > > > > > bytes) with the > > > > help of precomputed constants. > > > > > The resultant single 16-bytes chunk is further reduced by > > > > > Barrett reduction method to generate final CRC value. For more > > > > > details on the implementation, see reference [1]. > > > > > > > > > > The second version presents the fallback solution to support the > > > > > CRC generation without needing any specific support from CPU > > > > > (for > > > > > examples- > > > > > SSE4.2 intrinsics). It is based on generic Look-Up Table(LUT) > > > > > algorithm that uses precomputed 256 element table as explained > > > > > in > > > > reference[2]. > > > > > > > > > > During intialisation, all the data structures required for CRC > > > > > computation are initialised. Also, x86 specific crc > > > > > implementation (if supported by the platform) or scalar version i= s > enabled. > > > > > > > > As you can see in patchwork, it does not compile on FreeBSD: > > > > http://dpdk.org/ml/archives/test-report/2017-April/016943.html > > > > > > As I stated in the cover letter notes as well that The patchset > > > build fails on clang version earlier than 3.7.0 due to missing > > > intrinsics and > > this issue is listed in DPDK known issue section. FreeBSD build on gcc > > target should work fine. > > > > Ah, I have not seen this explanation. > > > > However, we cannot let the build fails. > > It is a blocker for patch admission. > > > > Can you, at least, disable the code for some compiler versions? >=20 > Hi Jasvinder, >=20 > Any chance a work-around for this issue. The default compiler on BSD is > clang, and the BSD 10 series of releases uses v3.4. This means this > functionality will be unavailable for anyone using DPDK from BSD ports on > BSD 10. >=20 > /Bruce I will have a look at this and send another version with fix. Jasvinder