From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f52.google.com (mail-wm0-f52.google.com [74.125.82.52]) by dpdk.org (Postfix) with ESMTP id 52470326B for ; Tue, 4 Apr 2017 22:02:26 +0200 (CEST) Received: by mail-wm0-f52.google.com with SMTP id x124so37664609wmf.0 for ; Tue, 04 Apr 2017 13:02:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:user-agent:in-reply-to :references:mime-version:content-transfer-encoding; bh=yhp5HKDffpW9yojo3CCLn/NHSBsCGSrBqz9YBvkPF3M=; b=uiSPUYu0ZE17KO5f9QKkS6i8FfodPvsuop6JEzNytqLnYvG0uDIXntMyAzVHU9QhRZ bTQFlVBrXMo8FrUPhirXMuCp2I5atmjDBrzFgjafN9lb2R+7S5/O9kKMdnNSwHQqeP8q RDoF5Q5cIzJi7L8F3MxJRzJlhcYOztzHQvhNxH4DJ+J3jf9YPtKbbjmCYo9VKVKrKiLw ++sWN/yRaLYACEGpaK7nevWnk7cHeUOHGkmBAJfFXcSvE30KUdMb3vIoVmxGsCwXNv+N l7zh0Z8wJtMdYCZ+gbf97Ub4bt0NZkNIaDxVD07Fn8AXQYWK6EHuohLcHEmsi0EBc1IX h/NA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:user-agent :in-reply-to:references:mime-version:content-transfer-encoding; bh=yhp5HKDffpW9yojo3CCLn/NHSBsCGSrBqz9YBvkPF3M=; b=OhH9Sw5yS/p/nvWB8b0p5xRrDRNFDoj0Z8kCvx2ZfcIvSDW/hO0Oq/HDlSRNUYZdN7 ol10E+oQtw2VMUn1ZXkUErh/rhZHqQo+CJqKKW5ARUzX3NRHoVq/2Ty/aug3xZIbR0bs QHFYwv8NycAFLkh++JIvWfsAvKLlzvUK6gyNsALQDacnFc56NCDfacQWvZJUkQjE7p7b XHlmSWXMvkEC6uwQfL5WqzeanynuiI4vWDH0v/t7OH0/9VPgWQGDjv//oD0TwG+w2TE9 fVNvZ7REDgf8nFDIA6NQmd28GfKOFSpytfwZtKw2vM/uYrmc04I4DCRUeDFzrInjeMyM /CEA== X-Gm-Message-State: AFeK/H3Ic4Vwoerjo8Jim81wY2RTLYxVKB0GR4GVnAoerJNzKVIu0q8b 36LWFXPdpMpfae/V X-Received: by 10.28.220.132 with SMTP id t126mr6060548wmg.140.1491336145934; Tue, 04 Apr 2017 13:02:25 -0700 (PDT) Received: from xps13.localnet (184.203.134.77.rev.sfr.net. [77.134.203.184]) by smtp.gmail.com with ESMTPSA id 204sm19666322wmw.0.2017.04.04.13.02.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 04 Apr 2017 13:02:25 -0700 (PDT) From: Thomas Monjalon To: Jasvinder Singh Cc: dev@dpdk.org, olivier.matz@6wind.com, declan.doherty@intel.com, pablo.de.lara.guarch@intel.com Date: Tue, 04 Apr 2017 22:02:24 +0200 Message-ID: <1613321.D1UC30mH7n@xps13> User-Agent: KMail/4.14.10 (Linux/4.5.4-1-ARCH; KDE/4.14.11; x86_64; ; ) In-Reply-To: <1490890533-92231-1-git-send-email-jasvinder.singh@intel.com> References: <1490873422-13734-2-git-send-email-jasvinder.singh@intel.com> <1490890533-92231-1-git-send-email-jasvinder.singh@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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: Tue, 04 Apr 2017 20:02:26 -0000 2017-03-30 17:15, Jasvinder Singh: > In some applications, CRC (Cyclic Redundancy Check) needs to be compu= ted > 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. >=20 > The first version presents a fast and efficient CRC generation on IA > processors by using the carry-less multiplication instruction =EF=BF=BD= PCLMULQDQ > (i.e SSE4.2 instrinsics). In this implementation, a parallelized fold= ing > 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 cons= tants. > The resultant single 16-bytes chunk is further reduced by Barrett red= uction > method to generate final CRC value. For more details on the implement= ation, > see reference [1]. >=20 > The second version presents the fallback solution to support the CRC > generation without needing any specific support from CPU (for example= s- > SSE4.2 intrinsics). It is based on generic Look-Up Table(LUT) algorit= hm > that uses precomputed 256 element table as explained in reference[2].= >=20 > During intialisation, all the data structures required for CRC comput= ation > 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: =09http://dpdk.org/ml/archives/test-report/2017-April/016943.html