[dpdk-dev] [PATCH v7 1/7] hash: replace existing hash library with cuckoo hash implementation
Tony Lu
zlu at ezchip.com
Fri Jul 17 05:34:38 CEST 2015
Hi, Pablo
>-----Original Message-----
>From: De Lara Guarch, Pablo [mailto:pablo.de.lara.guarch at intel.com]
>Sent: Friday, July 17, 2015 4:42 AM
>To: Tony Lu; dev at dpdk.org
>Subject: RE: [dpdk-dev] [PATCH v7 1/7] hash: replace existing hash library
with
>cuckoo hash implementation
>
>Hi Tony,
>
>> -----Original Message-----
>> From: Tony Lu [mailto:zlu at ezchip.com]
>> Sent: Thursday, July 16, 2015 10:40 AM
>> To: De Lara Guarch, Pablo; dev at dpdk.org
>> Subject: RE: [dpdk-dev] [PATCH v7 1/7] hash: replace existing hash
>> library with cuckoo hash implementation
>>
>> >diff --git a/lib/librte_hash/rte_cuckoo_hash.c
>> b/lib/librte_hash/rte_cuckoo_hash.c
>> >new file mode 100644
>> >index 0000000..50e3acd
>> >--- /dev/null
>> >+++ b/lib/librte_hash/rte_cuckoo_hash.c
>> >@@ -0,0 +1,1027 @@
>> ...
>> >+
>> >+/* Functions to compare multiple of 16 byte keys (up to 128 bytes)
>> >+*/ static int rte_hash_k16_cmp_eq(const void *key1, const void
>> >+*key2, size_t key_len
>> >__rte_unused)
>> >+{
>> >+ const __m128i k1 = _mm_loadu_si128((const __m128i *) key1);
>> >+ const __m128i k2 = _mm_loadu_si128((const __m128i *) key2);
>> >+ const __m128i x = _mm_xor_si128(k1, k2);
>> >+
>> >+ return !_mm_test_all_zeros(x, x);
>> >+}
>> ...
>>
>> When compiling the latest dev DPDK for non-x86 arch, it fails on the
>> above code, as the SSE is x86 specific defined in <emmintrin.h>. Is
>> it possible to replace this function with platform independent code?
>
>Thanks for spotting this. I just sent a patch that should fix the problem.
>Can you check if it works?
Thanks for your quick response, but __m128i and all the _mm_ related
functions
are X86 specific defined in <emmintrin.h>. This header file is only
available in X86
compiler library, but no-X86 archs do not have this file. So if we can
replace all
the X86 specific code in the above function, that would be great.
Thanks
-Tony
>Thanks,
>Pablo
>>
>> Thanks
>> -Zhigang Lu
More information about the dev
mailing list