DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] rte_memcpy optimization patch to dpdk ver 1.7
@ 2015-02-17  8:39 Vithal S Mohare
  2015-02-17 13:01 ` Neil Horman
  0 siblings, 1 reply; 7+ messages in thread
From: Vithal S Mohare @ 2015-02-17  8:39 UTC (permalink / raw)
  To: dev

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?

Thanks,
-Vithal

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] rte_memcpy optimization patch to dpdk ver 1.7
  2015-02-17  8:39 [dpdk-dev] rte_memcpy optimization patch to dpdk ver 1.7 Vithal S Mohare
@ 2015-02-17 13:01 ` Neil Horman
  2015-02-18  4:09   ` Vithal S Mohare
  0 siblings, 1 reply; 7+ messages in thread
From: Neil Horman @ 2015-02-17 13:01 UTC (permalink / raw)
  To: Vithal S Mohare; +Cc: dev

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] rte_memcpy optimization patch to dpdk ver 1.7
  2015-02-17 13:01 ` Neil Horman
@ 2015-02-18  4:09   ` Vithal S Mohare
  2015-02-19 12:43     ` Neil Horman
  0 siblings, 1 reply; 7+ messages in thread
From: Vithal S Mohare @ 2015-02-18  4:09 UTC (permalink / raw)
  To: Neil Horman; +Cc: dev

Ok, crash, as expected.   So, now dpdk mandates either AVX2 or SSSE2 supported CPUs.   OR applications needs to handle it run-time.

Thanks,
-Vithal

-----Original Message-----
From: Neil Horman [mailto:nhorman@tuxdriver.com] 
Sent: Tuesday, February 17, 2015 6:32 PM
To: Vithal S Mohare
Cc: dev@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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] rte_memcpy optimization patch to dpdk ver 1.7
  2015-02-18  4:09   ` Vithal S Mohare
@ 2015-02-19 12:43     ` Neil Horman
  2015-02-24  4:25       ` Vithal S Mohare
  0 siblings, 1 reply; 7+ messages in thread
From: Neil Horman @ 2015-02-19 12:43 UTC (permalink / raw)
  To: Vithal S Mohare; +Cc: dev

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@tuxdriver.com] 
> Sent: Tuesday, February 17, 2015 6:32 PM
> To: Vithal S Mohare
> Cc: dev@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
> 
> 
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] rte_memcpy optimization patch to dpdk ver 1.7
  2015-02-19 12:43     ` Neil Horman
@ 2015-02-24  4:25       ` Vithal S Mohare
  2015-02-24  9:49         ` Bruce Richardson
  2015-02-24 11:30         ` Neil Horman
  0 siblings, 2 replies; 7+ messages in thread
From: Vithal S Mohare @ 2015-02-24  4:25 UTC (permalink / raw)
  To: Neil Horman; +Cc: dev

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@tuxdriver.com] 
Sent: Thursday, February 19, 2015 6:13 PM
To: Vithal S Mohare
Cc: dev@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@tuxdriver.com]
> Sent: Tuesday, February 17, 2015 6:32 PM
> To: Vithal S Mohare
> Cc: dev@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
> 
> 
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] rte_memcpy optimization patch to dpdk ver 1.7
  2015-02-24  4:25       ` Vithal S Mohare
@ 2015-02-24  9:49         ` Bruce Richardson
  2015-02-24 11:30         ` Neil Horman
  1 sibling, 0 replies; 7+ messages in thread
From: Bruce Richardson @ 2015-02-24  9:49 UTC (permalink / raw)
  To: Vithal S Mohare; +Cc: dev

On Tue, Feb 24, 2015 at 04:25:40AM +0000, Vithal S Mohare wrote:
> 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
> 

Hi Vithal,

Something doesn't seem right here. The i7-920 should support up to SSE4.2, 
therefore including ssse3. See:
http://ark.intel.com/products/37147/Intel-Core-i7-920-Processor-8M-Cache-2_66-GHz-4_80-GTs-Intel-QPI

Regards,
/Bruce

> -----Original Message-----
> From: Neil Horman [mailto:nhorman@tuxdriver.com] 
> Sent: Thursday, February 19, 2015 6:13 PM
> To: Vithal S Mohare
> Cc: dev@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@tuxdriver.com]
> > Sent: Tuesday, February 17, 2015 6:32 PM
> > To: Vithal S Mohare
> > Cc: dev@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
> > 
> > 
> > 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] rte_memcpy optimization patch to dpdk ver 1.7
  2015-02-24  4:25       ` Vithal S Mohare
  2015-02-24  9:49         ` Bruce Richardson
@ 2015-02-24 11:30         ` Neil Horman
  1 sibling, 0 replies; 7+ messages in thread
From: Neil Horman @ 2015-02-24 11:30 UTC (permalink / raw)
  To: Vithal S Mohare; +Cc: dev

On Tue, Feb 24, 2015 at 04:25:40AM +0000, Vithal S Mohare wrote:
> 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?  
> 
It has to run on all systems greater than -march=core2, as that is what the
default config targets.  So if it can't run on a core2 system, this patch isn't
acceptable.
Neil

> -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@tuxdriver.com] 
> Sent: Thursday, February 19, 2015 6:13 PM
> To: Vithal S Mohare
> Cc: dev@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@tuxdriver.com]
> > Sent: Tuesday, February 17, 2015 6:32 PM
> > To: Vithal S Mohare
> > Cc: dev@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
> > 
> > 
> > 
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-02-24 11:30 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-17  8:39 [dpdk-dev] rte_memcpy optimization patch to dpdk ver 1.7 Vithal S Mohare
2015-02-17 13:01 ` Neil Horman
2015-02-18  4:09   ` Vithal S Mohare
2015-02-19 12:43     ` Neil Horman
2015-02-24  4:25       ` Vithal S Mohare
2015-02-24  9:49         ` Bruce Richardson
2015-02-24 11:30         ` Neil Horman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).