From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 3E3F229C7 for ; Wed, 5 Apr 2017 11:37:24 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=intel.com; i=@intel.com; q=dns/txt; s=intel; t=1491385045; x=1522921045; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=OuhcYguy37GH2nLENdPmmx0YXl9ryuS+SQNrxtq5BKQ=; b=vCmCzbaYoEZgrmaipdMR5PtF2NOh0WbgozkkzMIWXysHKgpuVZXk+LQa eqOGnuAdhf4iAUUFmPKkhVwY4zHjCQ==; Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Apr 2017 02:37:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,278,1486454400"; d="scan'208";a="83384740" Received: from irsmsx106.ger.corp.intel.com ([163.33.3.31]) by orsmga005.jf.intel.com with ESMTP; 05 Apr 2017 02:37:22 -0700 Received: from irsmsx103.ger.corp.intel.com ([169.254.3.241]) by IRSMSX106.ger.corp.intel.com ([169.254.8.202]) with mapi id 14.03.0319.002; Wed, 5 Apr 2017 10:37:21 +0100 From: "Richardson, Bruce" To: Thomas Monjalon , "Singh, Jasvinder" 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: AQHSretDrwzBA5XzEUKVZYq6+RQjIqG2hDBQ Date: Wed, 5 Apr 2017 09:37:21 +0000 Message-ID: <59AF69C657FD0841A61C55336867B5B066751DB3@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> In-Reply-To: <4843218.AadDjlxfvY@xps13> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNjY1MDMyMjMtOGM3OS00MDMxLWE0MzQtMjFiZjk4YWFlMjY5IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6IkhtVTFoeFhsSWlMSzJ0T0FvUEVNRTJFY1o2OGN1SE1rOXpNOEFcL2FydWJBPSJ9 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 09:37:25 -0000 > -----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 >=20 > 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 proposed= . > > > > > > > > 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 is 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. >=20 > Ah, I have not seen this explanation. >=20 > However, we cannot let the build fails. > It is a blocker for patch admission. >=20 > Can you, at least, disable the code for some compiler versions? Hi Jasvinder, Any chance a work-around for this issue. The default compiler on BSD is cla= ng, and the BSD 10 series of releases uses v3.4. This means this functional= ity will be unavailable for anyone using DPDK from BSD ports on BSD 10. /Bruce