[dpdk-dev] [PATCH v4 3/5] hash: add fallback to software CRC32 implementation

2014-11-18 Thread Yerden Zhumabekov
18.11.2014 23:46, Neil Horman ?: > On Tue, Nov 18, 2014 at 11:13:17PM +0600, Yerden Zhumabekov wrote: >> 18.11.2014 22:00, Neil Horman ?: >>> >>> You need to edit the makefile so that the compiler gets passed the option >>> -msse42. That way it will know to emit sse42 instructions. It wil

[dpdk-dev] [PATCH v4 3/5] hash: add fallback to software CRC32 implementation

2014-11-18 Thread Yerden Zhumabekov
18.11.2014 22:00, Neil Horman ?: > On Tue, Nov 18, 2014 at 09:06:35PM +0600, Yerden Zhumabekov wrote: >> 18.11.2014 20:41, Neil Horman ?: >>> On Tue, Nov 18, 2014 at 08:03:40PM +0600, Yerden Zhumabekov wrote: /** * Use single crc32 instruction to perform a hash on a 4 byte val

[dpdk-dev] [PATCH v4 3/5] hash: add fallback to software CRC32 implementation

2014-11-18 Thread Yerden Zhumabekov
18.11.2014 20:41, Neil Horman ?: > On Tue, Nov 18, 2014 at 08:03:40PM +0600, Yerden Zhumabekov wrote: >> Initially, SSE4.2 support is detected via CPUID instruction. >> >> Added rte_hash_crc_set_alg() function to detect and set CRC32 >> implementation if necessary. SSE4.2 is allowed by default

[dpdk-dev] [PATCH v4 5/5] test: remove redundant compile checks

2014-11-18 Thread Yerden Zhumabekov
Since rte_hash_crc() can now be run regardless of SSE4.2 support, we can safely remove compile checks for RTE_MACHINE_CPUFLAG_SSE4_2 in test utilities. Signed-off-by: Yerden Zhumabekov --- app/test/test_hash.c |7 --- app/test/test_hash_perf.c | 11 --- 2 files changed, 18

[dpdk-dev] [PATCH v4 4/5] hash: rte_hash_crc() slices data into 8-byte pieces

2014-11-18 Thread Yerden Zhumabekov
Calculating hash for data of variable length is more efficient when that data is sliced into 8-byte pieces. The rest part of data is hashed using CRC32 functions with either 8 and 4 byte operands. Signed-off-by: Yerden Zhumabekov --- lib/librte_hash/rte_hash_crc.h | 33

[dpdk-dev] [PATCH v4 3/5] hash: add fallback to software CRC32 implementation

2014-11-18 Thread Yerden Zhumabekov
Initially, SSE4.2 support is detected via CPUID instruction. Added rte_hash_crc_set_alg() function to detect and set CRC32 implementation if necessary. SSE4.2 is allowed by default. If it's not available, fall back to sw implementation. Best available algorithm is detected upon application startu

[dpdk-dev] [PATCH v4 2/5] hash: add new rte_hash_crc_8byte call

2014-11-18 Thread Yerden Zhumabekov
SSE4.2 provides _mm_crc32_u64 intrinsic with 8-byte operand. Signed-off-by: Yerden Zhumabekov --- lib/librte_hash/rte_hash_crc.h | 16 1 file changed, 16 insertions(+) diff --git a/lib/librte_hash/rte_hash_crc.h b/lib/librte_hash/rte_hash_crc.h index 4d7532a..15f687a 100644 -

[dpdk-dev] [PATCH v4 1/5] hash: add software CRC32 implementation

2014-11-18 Thread Yerden Zhumabekov
Add lookup tables for CRC32 algorithm, crc32c_1word() and crc32c_2words() functions returning hash of 32-bit and 64-bit operand. Signed-off-by: Yerden Zhumabekov --- lib/librte_hash/rte_hash_crc.h | 316 1 file changed, 316 insertions(+) diff --git a/li

[dpdk-dev] [PATCH v4 0/5] rte_hash_crc reworked to be platform-independent

2014-11-18 Thread Yerden Zhumabekov
This is a rework of my previous patches improving performance of rte_hash_crc. In addition, this revision brings a fallback mechanism to ensure that CRC32 hash is calculated regardless of hardware support from CPU (i.e. SSE4.2 intrinsics). Performance of software CRC32 implementation is also imp

[dpdk-dev] [PATCH v3 3/5] hash: add fallback to software CRC32 implementation

2014-11-18 Thread Yerden Zhumabekov
18.11.2014 19:33, Neil Horman ?: > On Tue, Nov 18, 2014 at 10:56:24AM +0600, Yerden Zhumabekov wrote: >> Sorry, maybe I made a mistake here. >> >> Accoring to lib/librte_eal/common/eal_common_cpuflags.c code, it seemed >> to me that constructor attribute is not supported by intel compiler. So

[dpdk-dev] [PATCH v4 2/2] testpmd: add mode 4 support

2014-11-18 Thread De Lara Guarch, Pablo
> -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Michal Jastrzebski > Sent: Tuesday, November 18, 2014 4:31 PM > To: dev at dpdk.org > Subject: [dpdk-dev] [PATCH v4 2/2] testpmd: add mode 4 support > > From: Pawel Wodkowski > > > Signed-off-by: Pawel Wodk

[dpdk-dev] [RFC PATCH v2 00/25] Port Hotplug Framework

2014-11-18 Thread Tetsuya Mukawa
Hi Folks, I may not be able to attend todays conference call because it will be midnight in my country. So I just collect up current status of this function. - I've received a email that let me know some bugs and suggestions in my RFC. Now I am fixing it. - Anyway, to use this function, we need t

[dpdk-dev] [PATCH v4 3/5] hash: add fallback to software CRC32 implementation

2014-11-18 Thread Bruce Richardson
On Tue, Nov 18, 2014 at 12:46:19PM -0500, Neil Horman wrote: > On Tue, Nov 18, 2014 at 11:13:17PM +0600, Yerden Zhumabekov wrote: > > > > 18.11.2014 22:00, Neil Horman ?: > > > On Tue, Nov 18, 2014 at 09:06:35PM +0600, Yerden Zhumabekov wrote: > > >> 18.11.2014 20:41, Neil Horman ?: > > >>

[dpdk-dev] [PATCH v4 3/5] hash: add fallback to software CRC32 implementation

2014-11-18 Thread Wang, Shawn
I have a general question about using CPUID to detect supported instruction set. What if we are compiling the software with some old hardware which does not support SSE4.2, but run it on new hardware which does support SSE4.2. Is there still a static way to force the compiler to turn on the SSE4.

[dpdk-dev] [PATCH v2 4/4] doc: Various document fixes in testpmd UG

2014-11-18 Thread Pablo de Lara
Signed-off-by: Pablo de Lara --- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 10 ++ 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst index 8030f3b..abb3f54 100644 --- a/doc/guides/

[dpdk-dev] [PATCH v2 3/4] doc: Moved commands in testpmd UG to match testpmd command help order

2014-11-18 Thread Pablo de Lara
Moved commands in testpmd UG to set queue rates to match order in testpmd command help. Created new section "Filters" to match that same section in testpmd UG, and moved all commands related to it there. Signed-off-by: Pablo de Lara --- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 1019 +++

[dpdk-dev] [PATCH v2 2/4] doc: Corrected info for tx_checksum set mask function, in testpmd UG

2014-11-18 Thread Pablo de Lara
tx_checksum set mask function now allows 4 extra bits in the mask for TX checksum offload Signed-off-by: Pablo de Lara --- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 10 +- 1 files changed, 9 insertions(+), 1 deletions(-) diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/

[dpdk-dev] [PATCH v2 1/4] doc: Added new commands in testpmd UG

2014-11-18 Thread Pablo de Lara
Added info in testpmd functions section for the following commands: - tunnel_filter add - tunnel_filter rm - rx_vxlan_port add - rx_vxlan_port rm - port stop/start queue - set port mac address filter (for VF) Signed-off-by: Pablo de Lara --- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 47 ++

[dpdk-dev] [PATCH v2 0/4] doc: Updated testpmd UG due to latest changes in the app

2014-11-18 Thread Pablo de Lara
TestPMD app has been added new commands, which should be reflected in the user guide. Also, this patchset fixes several typos and changes the location of the description of some commands. Changes in v2: Title underline in added commands was too short. Pablo de Lara (4): doc: Added new commands

[dpdk-dev] [PATCH v4 3/5] hash: add fallback to software CRC32 implementation

2014-11-18 Thread Neil Horman
On Tue, Nov 18, 2014 at 05:52:27PM +, Bruce Richardson wrote: > On Tue, Nov 18, 2014 at 12:46:19PM -0500, Neil Horman wrote: > > On Tue, Nov 18, 2014 at 11:13:17PM +0600, Yerden Zhumabekov wrote: > > > > > > 18.11.2014 22:00, Neil Horman ?: > > > > On Tue, Nov 18, 2014 at 09:06:35PM +0600,

[dpdk-dev] [PATCH v4 2/2] testpmd: add mode 4 support

2014-11-18 Thread Michal Jastrzebski
From: Pawel Wodkowski Signed-off-by: Pawel Wodkowski --- app/test-pmd/cmdline.c | 28 +++-- app/test-pmd/csumonly.c |9 app/test-pmd/icmpecho.c | 17 ++- app/test-pmd/iofwd.c|9 app/test-pmd/macfwd-retry.c |

[dpdk-dev] [PATCH v4 1/2] bond: add mode 4 support

2014-11-18 Thread Michal Jastrzebski
From: Pawel Wodkowski Signed-off-by: Pawel Wodkowski --- lib/librte_ether/rte_ether.h |1 + lib/librte_pmd_bond/Makefile |2 + lib/librte_pmd_bond/rte_eth_bond.h|5 + lib/librte_pmd_bond/rte_eth_bond_8023ad.c | 1218

[dpdk-dev] [PATCH v4 0/2] bond: mode 4 support

2014-11-18 Thread Michal Jastrzebski
From: Pawel Wodkowski v2 changes: New version handles race issues with setting/cancelin callbacks, fixes promiscus mode setting in mode 4 and some other minor errors in mode 4 implementation. v3 changes: This is a rework of previous patchset. Basic functionality is the same but contain followin

[dpdk-dev] [PATCH v4 3/5] hash: add fallback to software CRC32 implementation

2014-11-18 Thread Bruce Richardson
On Tue, Nov 18, 2014 at 04:04:26PM +, Bruce Richardson wrote: > On Tue, Nov 18, 2014 at 11:00:05AM -0500, Neil Horman wrote: > > On Tue, Nov 18, 2014 at 09:06:35PM +0600, Yerden Zhumabekov wrote: > > > > > > 18.11.2014 20:41, Neil Horman ?: > > > > On Tue, Nov 18, 2014 at 08:03:40PM +0600,

[dpdk-dev] [PATCH v4 3/5] hash: add fallback to software CRC32 implementation

2014-11-18 Thread Bruce Richardson
On Tue, Nov 18, 2014 at 11:00:05AM -0500, Neil Horman wrote: > On Tue, Nov 18, 2014 at 09:06:35PM +0600, Yerden Zhumabekov wrote: > > > > 18.11.2014 20:41, Neil Horman ?: > > > On Tue, Nov 18, 2014 at 08:03:40PM +0600, Yerden Zhumabekov wrote: > > >> Initially, SSE4.2 support is detected via C

[dpdk-dev] [PATCH 0/4] Translate packet types for i40e

2014-11-18 Thread Ananyev, Konstantin
> -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Ananyev, Konstantin > Sent: Tuesday, November 18, 2014 3:26 PM > To: Zhang, Helin; Liu, Jijiang; dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH 0/4] Translate packet types for i40e > > > > > -Original

[dpdk-dev] [PATCH 4/4] testpmd:application changes

2014-11-18 Thread Jijiang Liu
Change the codes in testpmd due to introducing abstract packet type. Signed-off-by: Jijiang Liu --- app/test-pmd/csumonly.c | 12 ++-- app/test-pmd/rxonly.c | 20 +--- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/app/test-pmd/csumonly.c b/app/tes

[dpdk-dev] [PATCH 3/4] i40e:translate i40e packet types

2014-11-18 Thread Jijiang Liu
Translate i40e packet types to abstract packet types, and keep the usage of the PKT_RX_IPV4_HDR and the PKT_RX_IPV4_HDR as before in i40e driver. Signed-off-by: Jijiang Liu --- lib/librte_pmd_i40e/i40e_rxtx.c | 604 +-- 1 files changed, 332 insertions(+), 27

[dpdk-dev] [PATCH 2/4] rte_mbuf:remove tunneling IP offload flags

2014-11-18 Thread Jijiang Liu
The PKT_RX_TUNNEL_IPV4_HDR and the PKT_RX_TUNNEL_IPV6_HDR are removed, they are useless now. Signed-off-by: Jijiang Liu --- lib/librte_mbuf/rte_mbuf.h |2 -- 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h index 678db0d.

[dpdk-dev] [PATCH 1/4] rte_mbuf:add packet types

2014-11-18 Thread Jijiang Liu
This patch abstracts packet types of L2 packet, Non Tunneled IPv4/6, IP in IP, IP in GRE, MAC in GRE and MAC in UDP, and add 4 MACROS to check packet IP header. Signed-off-by: Jijiang Liu --- lib/librte_mbuf/rte_mbuf.h | 223 1 files changed, 223 i

[dpdk-dev] [PATCH 0/4] Translate packet types for i40e

2014-11-18 Thread Jijiang Liu
The i40e NIC can recognize many packet types, including ordinary L2 packet format and tunneling packet format such as IP in IP, IP in GRE, MAC in GRE and MAC in UDP. This patch set provides abstract definitions of packet types, which can help user to use these packet types directly in their appl

[dpdk-dev] [PATCH 0/4] Translate packet types for i40e

2014-11-18 Thread Ananyev, Konstantin
> -Original Message- > From: Richardson, Bruce > Sent: Tuesday, November 18, 2014 1:08 PM > To: Ananyev, Konstantin > Cc: Liu, Jijiang; dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH 0/4] Translate packet types for i40e > > On Tue, Nov 18, 2014 at 11:33:24AM +, Ananyev, Konstantin

[dpdk-dev] [PATCH 0/4] Translate packet types for i40e

2014-11-18 Thread Ananyev, Konstantin
> -Original Message- > From: Zhang, Helin > Sent: Tuesday, November 18, 2014 2:12 PM > To: Ananyev, Konstantin; Liu, Jijiang; dev at dpdk.org > Subject: RE: [dpdk-dev] [PATCH 0/4] Translate packet types for i40e > > > > > -Original Message- > > From: dev [mailto:dev-bounces at

[dpdk-dev] [PATCH v2 03/13] mbuf: move vxlan_cksum flag definition at the proper place

2014-11-18 Thread Olivier MATZ
Hi Thomas, On 11/17/2014 11:05 PM, Thomas Monjalon wrote: > 2014-11-14 18:03, Olivier Matz: >> The tx mbuf flags are ordered from the highest value to the >> the lowest. Move the PKT_TX_VXLAN_CKSUM at the right place. > > Please, could you reorder them from the lowest to the highest? > It will be

[dpdk-dev] [PULL REQUEST] doc: programmers guide.

2014-11-18 Thread Thomas Monjalon
> Bernard Iremonger (1): > doc: programmers guide Applied Thanks a lot Bernard. We have the complete documentation of DPDK 1.7! Now it's time to update it for DPDK 1.8. -- Thomas

[dpdk-dev] [PATCH v3 3/5] hash: add fallback to software CRC32 implementation

2014-11-18 Thread Thomas Monjalon
2014-11-18 08:33, Neil Horman: > On Tue, Nov 18, 2014 at 10:56:24AM +0600, Yerden Zhumabekov wrote: > > Sorry, maybe I made a mistake here. > > > > Accoring to lib/librte_eal/common/eal_common_cpuflags.c code, it seemed > > to me that constructor attribute is not supported by intel compiler. So >

[dpdk-dev] [PATCH 0/4] Translate packet types for i40e

2014-11-18 Thread Zhang, Helin
> -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Ananyev, Konstantin > Sent: Tuesday, November 18, 2014 7:33 PM > To: Liu, Jijiang; dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH 0/4] Translate packet types for i40e > > Hi Frank, > > > -Original Messa

[dpdk-dev] [PATCH v3 0/2] support ethertype filter on fortville

2014-11-18 Thread Liu, Jijiang
> -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jingjing Wu > Sent: Thursday, November 13, 2014 8:50 PM > To: dev at dpdk.org > Subject: [dpdk-dev] [PATCH v3 0/2] support ethertype filter on fortville > > From: "jingjing.wu" > > The patch set supports eth

[dpdk-dev] [PATCH 0/4] Translate packet types for i40e

2014-11-18 Thread Bruce Richardson
On Tue, Nov 18, 2014 at 11:33:24AM +, Ananyev, Konstantin wrote: > Hi Frank, > > > -Original Message- > > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jijiang Liu > > Sent: Tuesday, November 18, 2014 7:37 AM > > To: dev at dpdk.org > > Subject: [dpdk-dev] [PATCH 0/4] Transla

[dpdk-dev] Community conference call - Tuesday 18th November

2014-11-18 Thread O'driscoll, Tim
This is just a reminder of our call later today, which is at 17:00 GMT. The time in a variety of timezones is included below. We're going to use GoToMeeting this time. If you follow the meeting link (https://global.gotomeeting.com/join/843960205), the GoToMeeting web viewer will start. You then

[dpdk-dev] [PATCH v4 3/5] hash: add fallback to software CRC32 implementation

2014-11-18 Thread Neil Horman
On Tue, Nov 18, 2014 at 11:13:17PM +0600, Yerden Zhumabekov wrote: > > 18.11.2014 22:00, Neil Horman ?: > > On Tue, Nov 18, 2014 at 09:06:35PM +0600, Yerden Zhumabekov wrote: > >> 18.11.2014 20:41, Neil Horman ?: > >>> On Tue, Nov 18, 2014 at 08:03:40PM +0600, Yerden Zhumabekov wrote: > >>

[dpdk-dev] [PATCH v4 3/5] hash: add fallback to software CRC32 implementation

2014-11-18 Thread Neil Horman
On Tue, Nov 18, 2014 at 04:04:26PM +, Bruce Richardson wrote: > On Tue, Nov 18, 2014 at 11:00:05AM -0500, Neil Horman wrote: > > On Tue, Nov 18, 2014 at 09:06:35PM +0600, Yerden Zhumabekov wrote: > > > > > > 18.11.2014 20:41, Neil Horman ?: > > > > On Tue, Nov 18, 2014 at 08:03:40PM +0600,

[dpdk-dev] [PATCH 0/4] Translate packet types for i40e

2014-11-18 Thread Ananyev, Konstantin
Hi Frank, > -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jijiang Liu > Sent: Tuesday, November 18, 2014 7:37 AM > To: dev at dpdk.org > Subject: [dpdk-dev] [PATCH 0/4] Translate packet types for i40e > > The i40e NIC can recognize many packet types, includi

[dpdk-dev] [PATCH v4 3/5] hash: add fallback to software CRC32 implementation

2014-11-18 Thread Neil Horman
On Tue, Nov 18, 2014 at 09:06:35PM +0600, Yerden Zhumabekov wrote: > > 18.11.2014 20:41, Neil Horman ?: > > On Tue, Nov 18, 2014 at 08:03:40PM +0600, Yerden Zhumabekov wrote: > >> Initially, SSE4.2 support is detected via CPUID instruction. > >> > >> Added rte_hash_crc_set_alg() function to de

[dpdk-dev] [PATCH v3 3/5] hash: add fallback to software CRC32 implementation

2014-11-18 Thread Yerden Zhumabekov
Sorry, maybe I made a mistake here. Accoring to lib/librte_eal/common/eal_common_cpuflags.c code, it seemed to me that constructor attribute is not supported by intel compiler. So in that case here I decided to leave the code for autodetection. Am I correct? 18.11.2014 9:21, Yerden Zhumabekov ???

[dpdk-dev] [PATCH] examples: new txburst application

2014-11-18 Thread Bhavesh Davda
Test application to transmit 32-packet bursts of 220-byte UDP packets every 50 us, approximating 240,000 pps. We found it useful for testing hypervisor performance for a transmit-heavy but bursty workload in a VM with DPDK. Signed-off-by: Bhavesh Davda --- examples/Makefile |1 + ex

[dpdk-dev] [PATCH v2 06/13] mbuf: add functions to get the name of an ol_flag

2014-11-18 Thread Olivier MATZ
Hi Konstantin, On 11/17/2014 08:00 PM, Ananyev, Konstantin wrote: >> +/* >> + * Get the name of a RX offload flag >> + */ >> +const char *rte_get_rx_ol_flag_name(uint64_t mask) >> +{ >> +switch (mask) { >> +case PKT_RX_VLAN_PKT: return "PKT_RX_VLAN_PKT"; >> +case PKT_RX_RSS_HASH: retur

[dpdk-dev] [PATCH v2 11/13] ixgbe: support TCP segmentation offload

2014-11-18 Thread Olivier MATZ
Hi Konstantin, On 11/17/2014 07:26 PM, Ananyev, Konstantin wrote: > Just one thing - double semicolon - looks like a typo: >> +/* check if TCP segmentation required for this packet */ >> +if (ol_flags & PKT_TX_TCP_SEG) { >> +/* implies IP cksum and TCP cksum */ >> +

[dpdk-dev] [PATCH v2 09/13] mbuf: introduce new checksum API

2014-11-18 Thread Olivier MATZ
Hi Konstantin, On 11/17/2014 07:15 PM, Ananyev, Konstantin wrote: > Just 2 nits from me: > > 1) >> +static inline uint16_t >> +rte_raw_cksum(const char *buf, size_t len) >> +{ > ... >> +while (len >= 8) { >> +sum += u16[0]; sum += u16[1]; sum += u16[2]; sum += u16[3]; > > Can you p

[dpdk-dev] [PATCH v4 3/5] hash: add fallback to software CRC32 implementation

2014-11-18 Thread Neil Horman
On Tue, Nov 18, 2014 at 08:03:40PM +0600, Yerden Zhumabekov wrote: > Initially, SSE4.2 support is detected via CPUID instruction. > > Added rte_hash_crc_set_alg() function to detect and set CRC32 > implementation if necessary. SSE4.2 is allowed by default. If it's > not available, fall back to sw

[dpdk-dev] [PATCH v3 5/5] test: remove redundant compile checks

2014-11-18 Thread Yerden Zhumabekov
Since rte_hash_crc() can now be run regardless of SSE4.2 support, we can safely remove compile checks for RTE_MACHINE_CPUFLAG_SSE4_2 in test utilities. Signed-off-by: Yerden Zhumabekov --- app/test/test_hash.c |7 --- app/test/test_hash_perf.c | 11 --- 2 files changed, 18

[dpdk-dev] [PATCH v3 4/5] hash: rte_hash_crc() slices data into 8-byte pieces

2014-11-18 Thread Yerden Zhumabekov
Calculating hash for data of variable length is more efficient when that data is sliced into 8-byte pieces. The rest part of data is hashed using CRC32 functions with either 8 and 4 byte operands. Signed-off-by: Yerden Zhumabekov --- lib/librte_hash/rte_hash_crc.h | 33

[dpdk-dev] [PATCH v3 3/5] hash: add fallback to software CRC32 implementation

2014-11-18 Thread Yerden Zhumabekov
Initially, SSE4.2 support is detected via CPUID instruction. Added rte_hash_crc_set_alg() function to detect and set CRC32 implementation if necessary. SSE4.2 is allowed by default. If it's not available, fall back to sw implementation. Depending on compiler attributes support, best available alg

[dpdk-dev] [PATCH v3 2/5] hash: add new rte_hash_crc_8byte call

2014-11-18 Thread Yerden Zhumabekov
SSE4.2 provides _mm_crc32_u64 intrinsic with 8-byte operand. Signed-off-by: Yerden Zhumabekov --- lib/librte_hash/rte_hash_crc.h | 16 1 file changed, 16 insertions(+) diff --git a/lib/librte_hash/rte_hash_crc.h b/lib/librte_hash/rte_hash_crc.h index 4d7532a..15f687a 100644 -

[dpdk-dev] [PATCH v3 1/5] hash: add software CRC32 implementation

2014-11-18 Thread Yerden Zhumabekov
Add lookup tables for CRC32 algorithm, crc32c_1word() and crc32c_2words() functions returning hash of 32-bit and 64-bit operand. Signed-off-by: Yerden Zhumabekov --- lib/librte_hash/rte_hash_crc.h | 316 1 file changed, 316 insertions(+) diff --git a/li

[dpdk-dev] [PATCH v3 0/5] rte_hash_crc reworked to be platform-independent

2014-11-18 Thread Yerden Zhumabekov
This is a rework of my previous patches improving performance of rte_hash_crc. In addition, this revision brings a fallback mechanism to ensure that CRC32 hash is calculated regardless of hardware support from CPU (i.e. SSE4.2 intrinsics). Performance of software CRC32 implementation is also imp

[dpdk-dev] [PATCH v3 3/5] hash: add fallback to software CRC32 implementation

2014-11-18 Thread Neil Horman
On Tue, Nov 18, 2014 at 10:56:24AM +0600, Yerden Zhumabekov wrote: > Sorry, maybe I made a mistake here. > > Accoring to lib/librte_eal/common/eal_common_cpuflags.c code, it seemed > to me that constructor attribute is not supported by intel compiler. So > in that case here I decided to leave the