[dpdk-dev] rte_memcpy optimization patch to dpdk ver 1.7

Vithal S Mohare vmohare at arubanetworks.com
Tue Feb 24 05:25:40 CET 2015


Hi Neil,


While most of the newer CPUs supports ssse3,  found a  I7 not supporting it.  So, DPDK can't run these CPUs?  Is this restriction acceptable?  

-sh-3.2$ cat /proc/cpuinfo 
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 26
model name	: Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz
stepping	: 5
cpu MHz		: 2660.068
cache size	: 8192 KB
physical id	: 0
siblings	: 8
core id		: 0
cpu cores	: 4
apicid		: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 11
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr popcnt lahf_lm

Thanks,
-Vithal

-----Original Message-----
From: Neil Horman [mailto:nhorman at tuxdriver.com] 
Sent: Thursday, February 19, 2015 6:13 PM
To: Vithal S Mohare
Cc: dev at dpdk.org
Subject: Re: [dpdk-dev] rte_memcpy optimization patch to dpdk ver 1.7

On Wed, Feb 18, 2015 at 04:09:25AM +0000, Vithal S Mohare wrote:
> Ok, crash, as expected.   So, now dpdk mandates either AVX2 or SSSE2 supported CPUs.   OR applications needs to handle it run-time.
> 
No, sse3 is the minimum, but I think thats been the case for quite some time now, I think.

Neil

> Thanks,
> -Vithal
> 
> -----Original Message-----
> From: Neil Horman [mailto:nhorman at tuxdriver.com]
> Sent: Tuesday, February 17, 2015 6:32 PM
> To: Vithal S Mohare
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] rte_memcpy optimization patch to dpdk ver 1.7
> 
> On Tue, Feb 17, 2015 at 08:39:22AM +0000, Vithal S Mohare wrote:
> > Hi,
> > 
> > I am trying to use rte_memcpy optimization patch along with dpdk version 1.7.  With the patch, while dpdk itself is compiled, applications failed with below error:
> > -------------------------------
> > include/rte_memcpy.h:629:2: error: implicit declaration of function 
> > '_mm_alignr_epi8' [-Werror=implicit-function-declaration]
> > /home/vithals/adu_src/build/x-men_dev/Default/shumway/infra/dpdk/shumway_obj/lib/../include/rte_memcpy.h:629:2: error: incompatible type for argument 2 of '_mm_storeu_si128'
> > -------------------------------
> > 
> > After including -mssse3 flags, compilation (cross compiled for a x86 linux based platform) went through.  Now the question is, when this binary is loaded on system that doesn't support SSSE3 instruction set (but just sse2 etc), what would be the behavior?
> > 
> A crash.  You'll attempt to send an unknown binary instruction into the execution pipeline and the processor will fault.
> 
> Neil
> 
> 
> 


More information about the dev mailing list