All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/3] arch: add corei7-avx
@ 2015-03-18 22:01 Steven Noonan
  2015-03-18 22:01 ` [Buildroot] [PATCH] package/glibc: enable lock elision on x86_64 hosts Steven Noonan
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Steven Noonan @ 2015-03-18 22:01 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
---
 arch/Config.in.x86 | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/Config.in.x86 b/arch/Config.in.x86
index d5788b1..9767bc1 100644
--- a/arch/Config.in.x86
+++ b/arch/Config.in.x86
@@ -13,6 +13,8 @@ config BR2_X86_CPU_HAS_SSE4
 	bool
 config BR2_X86_CPU_HAS_SSE42
 	bool
+config BR2_X86_CPU_HAS_AVX
+	bool
 
 choice
 	prompt "Target Architecture Variant"
@@ -89,6 +91,16 @@ config BR2_x86_corei7
 	select BR2_X86_CPU_HAS_SSSE3
 	select BR2_X86_CPU_HAS_SSE4
 	select BR2_X86_CPU_HAS_SSE42
+config BR2_x86_corei7_avx
+	bool "corei7-avx"
+	select BR2_X86_CPU_HAS_MMX
+	select BR2_X86_CPU_HAS_SSE
+	select BR2_X86_CPU_HAS_SSE2
+	select BR2_X86_CPU_HAS_SSE3
+	select BR2_X86_CPU_HAS_SSSE3
+	select BR2_X86_CPU_HAS_SSE4
+	select BR2_X86_CPU_HAS_SSE42
+	select BR2_X86_CPU_HAS_AVX
 config BR2_x86_atom
 	bool "atom"
 	select BR2_X86_CPU_HAS_MMX
@@ -226,6 +238,7 @@ config BR2_GCC_TARGET_ARCH
 	default "nocona"	if BR2_x86_nocona
 	default "core2"		if BR2_x86_core2
 	default "corei7"	if BR2_x86_corei7
+	default "corei7-avx"	if BR2_x86_corei7_avx
 	default "atom"		if BR2_x86_atom
 	default "k8"		if BR2_x86_opteron
 	default "k8-sse3"	if BR2_x86_opteron_sse3
-- 
2.3.3

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

* [Buildroot] [PATCH] package/glibc: enable lock elision on x86_64 hosts
  2015-03-18 22:01 [Buildroot] [PATCH 1/3] arch: add corei7-avx Steven Noonan
@ 2015-03-18 22:01 ` Steven Noonan
  2015-07-19  9:23   ` Thomas Petazzoni
  2015-07-20 20:57   ` Thomas Petazzoni
  2015-03-18 22:01 ` [Buildroot] [PATCH 2/3] arch: add core-avx2 Steven Noonan
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 10+ messages in thread
From: Steven Noonan @ 2015-03-18 22:01 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
---
 package/glibc/glibc.mk | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk
index 0a37bb3..651711a 100644
--- a/package/glibc/glibc.mk
+++ b/package/glibc/glibc.mk
@@ -90,6 +90,7 @@ define GLIBC_CONFIGURE_CMDS
 		--prefix=/usr \
 		--enable-shared \
 		$(if $(BR2_SOFT_FLOAT),--without-fp,--with-fp) \
+		$(if $(BR2_x86_64),--enable-lock-elision,) \
 		--with-pkgversion="Buildroot" \
 		--without-cvs \
 		--disable-profile \
-- 
2.3.3

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

* [Buildroot] [PATCH 2/3] arch: add core-avx2
  2015-03-18 22:01 [Buildroot] [PATCH 1/3] arch: add corei7-avx Steven Noonan
  2015-03-18 22:01 ` [Buildroot] [PATCH] package/glibc: enable lock elision on x86_64 hosts Steven Noonan
@ 2015-03-18 22:01 ` Steven Noonan
  2015-04-09 20:19   ` Gustavo Zacarias
  2015-03-18 22:01 ` [Buildroot] [PATCH 3/3] packages: add AVX/AVX2 support to ffmpeg/opencv Steven Noonan
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 10+ messages in thread
From: Steven Noonan @ 2015-03-18 22:01 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
---
 arch/Config.in.x86 | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/Config.in.x86 b/arch/Config.in.x86
index 9767bc1..43f6abc 100644
--- a/arch/Config.in.x86
+++ b/arch/Config.in.x86
@@ -15,6 +15,8 @@ config BR2_X86_CPU_HAS_SSE42
 	bool
 config BR2_X86_CPU_HAS_AVX
 	bool
+config BR2_X86_CPU_HAS_AVX2
+	bool
 
 choice
 	prompt "Target Architecture Variant"
@@ -101,6 +103,17 @@ config BR2_x86_corei7_avx
 	select BR2_X86_CPU_HAS_SSE4
 	select BR2_X86_CPU_HAS_SSE42
 	select BR2_X86_CPU_HAS_AVX
+config BR2_x86_core_avx2
+	bool "core-avx2"
+	select BR2_X86_CPU_HAS_MMX
+	select BR2_X86_CPU_HAS_SSE
+	select BR2_X86_CPU_HAS_SSE2
+	select BR2_X86_CPU_HAS_SSE3
+	select BR2_X86_CPU_HAS_SSSE3
+	select BR2_X86_CPU_HAS_SSE4
+	select BR2_X86_CPU_HAS_SSE42
+	select BR2_X86_CPU_HAS_AVX
+	select BR2_X86_CPU_HAS_AVX2
 config BR2_x86_atom
 	bool "atom"
 	select BR2_X86_CPU_HAS_MMX
@@ -239,6 +252,7 @@ config BR2_GCC_TARGET_ARCH
 	default "core2"		if BR2_x86_core2
 	default "corei7"	if BR2_x86_corei7
 	default "corei7-avx"	if BR2_x86_corei7_avx
+	default "core-avx2"	if BR2_x86_core_avx2
 	default "atom"		if BR2_x86_atom
 	default "k8"		if BR2_x86_opteron
 	default "k8-sse3"	if BR2_x86_opteron_sse3
-- 
2.3.3

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

* [Buildroot] [PATCH 3/3] packages: add AVX/AVX2 support to ffmpeg/opencv
  2015-03-18 22:01 [Buildroot] [PATCH 1/3] arch: add corei7-avx Steven Noonan
  2015-03-18 22:01 ` [Buildroot] [PATCH] package/glibc: enable lock elision on x86_64 hosts Steven Noonan
  2015-03-18 22:01 ` [Buildroot] [PATCH 2/3] arch: add core-avx2 Steven Noonan
@ 2015-03-18 22:01 ` Steven Noonan
  2015-04-09 20:16 ` [Buildroot] [PATCH 1/3] arch: add corei7-avx Gustavo Zacarias
  2015-04-09 21:35 ` Thomas Petazzoni
  4 siblings, 0 replies; 10+ messages in thread
From: Steven Noonan @ 2015-03-18 22:01 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
---
 package/ffmpeg/ffmpeg.mk | 12 ++++++++++++
 package/opencv/opencv.mk |  2 ++
 2 files changed, 14 insertions(+)

diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
index 68a28a2..47372df 100644
--- a/package/ffmpeg/ffmpeg.mk
+++ b/package/ffmpeg/ffmpeg.mk
@@ -301,6 +301,18 @@ else
 FFMPEG_CONF_OPTS += --disable-sse42
 endif
 
+ifeq ($(BR2_X86_CPU_HAS_AVX),y)
+FFMPEG_CONF_OPTS += --enable-avx
+else
+FFMPEG_CONF_OPTS += --disable-avx
+endif
+
+ifeq ($(BR2_X86_CPU_HAS_AVX2),y)
+FFMPEG_CONF_OPTS += --enable-avx2
+else
+FFMPEG_CONF_OPTS += --disable-avx2
+endif
+
 # Explicitly disable everything that doesn't match for ARM
 # FFMPEG "autodetects" by compiling an extended instruction via AS
 # This works on compilers that aren't built for generic by default
diff --git a/package/opencv/opencv.mk b/package/opencv/opencv.mk
index 61f529e..ee84312 100644
--- a/package/opencv/opencv.mk
+++ b/package/opencv/opencv.mk
@@ -77,6 +77,8 @@ OPENCV_CONF_OPTS += \
 	-DENABLE_SSE3=$(if $(BR2_X86_CPU_HAS_SSE3),ON,OFF)   \
 	-DENABLE_SSE41=$(if $(BR2_X86_CPU_HAS_SSE4),ON,OFF)  \
 	-DENABLE_SSE42=$(if $(BR2_X86_CPU_HAS_SSE42),ON,OFF) \
+	-DENABLE_AVX=$(if $(BR2_X86_CPU_HAS_AVX),ON,OFF) \
+	-DENABLE_AVX2=$(if $(BR2_X86_CPU_HAS_AVX2),ON,OFF) \
 	-DENABLE_SSSE3=$(if $(BR2_X86_CPU_HAS_SSSE3),ON,OFF)
 
 # Cuda stuff
-- 
2.3.3

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

* [Buildroot] [PATCH 1/3] arch: add corei7-avx
  2015-03-18 22:01 [Buildroot] [PATCH 1/3] arch: add corei7-avx Steven Noonan
                   ` (2 preceding siblings ...)
  2015-03-18 22:01 ` [Buildroot] [PATCH 3/3] packages: add AVX/AVX2 support to ffmpeg/opencv Steven Noonan
@ 2015-04-09 20:16 ` Gustavo Zacarias
  2015-04-09 21:35 ` Thomas Petazzoni
  4 siblings, 0 replies; 10+ messages in thread
From: Gustavo Zacarias @ 2015-04-09 20:16 UTC (permalink / raw)
  To: buildroot

On 03/18/2015 07:01 PM, Steven Noonan wrote:

> Signed-off-by: Steven Noonan <steven@uplinklabs.net>

Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>

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

* [Buildroot] [PATCH 2/3] arch: add core-avx2
  2015-03-18 22:01 ` [Buildroot] [PATCH 2/3] arch: add core-avx2 Steven Noonan
@ 2015-04-09 20:19   ` Gustavo Zacarias
  0 siblings, 0 replies; 10+ messages in thread
From: Gustavo Zacarias @ 2015-04-09 20:19 UTC (permalink / raw)
  To: buildroot

On 03/18/2015 07:01 PM, Steven Noonan wrote:

> Signed-off-by: Steven Noonan <steven@uplinklabs.net>

Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>

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

* [Buildroot] [PATCH 1/3] arch: add corei7-avx
  2015-03-18 22:01 [Buildroot] [PATCH 1/3] arch: add corei7-avx Steven Noonan
                   ` (3 preceding siblings ...)
  2015-04-09 20:16 ` [Buildroot] [PATCH 1/3] arch: add corei7-avx Gustavo Zacarias
@ 2015-04-09 21:35 ` Thomas Petazzoni
  4 siblings, 0 replies; 10+ messages in thread
From: Thomas Petazzoni @ 2015-04-09 21:35 UTC (permalink / raw)
  To: buildroot

Dear Steven Noonan,

On Wed, 18 Mar 2015 15:01:08 -0700, Steven Noonan wrote:
> Signed-off-by: Steven Noonan <steven@uplinklabs.net>
> ---
>  arch/Config.in.x86 | 13 +++++++++++++
>  1 file changed, 13 insertions(+)


All three patches applied, thanks a lot!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH] package/glibc: enable lock elision on x86_64 hosts
  2015-03-18 22:01 ` [Buildroot] [PATCH] package/glibc: enable lock elision on x86_64 hosts Steven Noonan
@ 2015-07-19  9:23   ` Thomas Petazzoni
  2015-07-19  9:33     ` Baruch Siach
  2015-07-20 20:57   ` Thomas Petazzoni
  1 sibling, 1 reply; 10+ messages in thread
From: Thomas Petazzoni @ 2015-07-19  9:23 UTC (permalink / raw)
  To: buildroot

Dear Steven Noonan,

On Wed, 18 Mar 2015 15:01:09 -0700, Steven Noonan wrote:
> Signed-off-by: Steven Noonan <steven@uplinklabs.net>
> ---
>  package/glibc/glibc.mk | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk
> index 0a37bb3..651711a 100644
> --- a/package/glibc/glibc.mk
> +++ b/package/glibc/glibc.mk
> @@ -90,6 +90,7 @@ define GLIBC_CONFIGURE_CMDS
>  		--prefix=/usr \
>  		--enable-shared \
>  		$(if $(BR2_SOFT_FLOAT),--without-fp,--with-fp) \
> +		$(if $(BR2_x86_64),--enable-lock-elision,) \

What happens on x86-64 processors that don't have the HW support needed
for lock elision ? Does glibc gracefully falls back at runtime to
"normal" locks ?

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH] package/glibc: enable lock elision on x86_64 hosts
  2015-07-19  9:23   ` Thomas Petazzoni
@ 2015-07-19  9:33     ` Baruch Siach
  0 siblings, 0 replies; 10+ messages in thread
From: Baruch Siach @ 2015-07-19  9:33 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

On Sun, Jul 19, 2015 at 11:23:14AM +0200, Thomas Petazzoni wrote:
> On Wed, 18 Mar 2015 15:01:09 -0700, Steven Noonan wrote:
> > Signed-off-by: Steven Noonan <steven@uplinklabs.net>
> > ---
> >  package/glibc/glibc.mk | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk
> > index 0a37bb3..651711a 100644
> > --- a/package/glibc/glibc.mk
> > +++ b/package/glibc/glibc.mk
> > @@ -90,6 +90,7 @@ define GLIBC_CONFIGURE_CMDS
> >  		--prefix=/usr \
> >  		--enable-shared \
> >  		$(if $(BR2_SOFT_FLOAT),--without-fp,--with-fp) \
> > +		$(if $(BR2_x86_64),--enable-lock-elision,) \
> 
> What happens on x86-64 processors that don't have the HW support needed
> for lock elision ? Does glibc gracefully falls back at runtime to
> "normal" locks ?

According to the code at sysdeps/unix/sysv/linux/x86/elision-conf.c, 
__elision_available is initialized from HAS_RTM which is evaluated at run-time 
(sysdeps/x86_64/multiarch/init-arch.h).

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

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

* [Buildroot] [PATCH] package/glibc: enable lock elision on x86_64 hosts
  2015-03-18 22:01 ` [Buildroot] [PATCH] package/glibc: enable lock elision on x86_64 hosts Steven Noonan
  2015-07-19  9:23   ` Thomas Petazzoni
@ 2015-07-20 20:57   ` Thomas Petazzoni
  1 sibling, 0 replies; 10+ messages in thread
From: Thomas Petazzoni @ 2015-07-20 20:57 UTC (permalink / raw)
  To: buildroot

Dear Steven Noonan,

On Wed, 18 Mar 2015 15:01:09 -0700, Steven Noonan wrote:
> Signed-off-by: Steven Noonan <steven@uplinklabs.net>
> ---
>  package/glibc/glibc.mk | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk
> index 0a37bb3..651711a 100644
> --- a/package/glibc/glibc.mk
> +++ b/package/glibc/glibc.mk
> @@ -90,6 +90,7 @@ define GLIBC_CONFIGURE_CMDS
>  		--prefix=/usr \
>  		--enable-shared \
>  		$(if $(BR2_SOFT_FLOAT),--without-fp,--with-fp) \
> +		$(if $(BR2_x86_64),--enable-lock-elision,) \

The last comma was unnecessary. I've removed it and committed, thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

end of thread, other threads:[~2015-07-20 20:57 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-18 22:01 [Buildroot] [PATCH 1/3] arch: add corei7-avx Steven Noonan
2015-03-18 22:01 ` [Buildroot] [PATCH] package/glibc: enable lock elision on x86_64 hosts Steven Noonan
2015-07-19  9:23   ` Thomas Petazzoni
2015-07-19  9:33     ` Baruch Siach
2015-07-20 20:57   ` Thomas Petazzoni
2015-03-18 22:01 ` [Buildroot] [PATCH 2/3] arch: add core-avx2 Steven Noonan
2015-04-09 20:19   ` Gustavo Zacarias
2015-03-18 22:01 ` [Buildroot] [PATCH 3/3] packages: add AVX/AVX2 support to ffmpeg/opencv Steven Noonan
2015-04-09 20:16 ` [Buildroot] [PATCH 1/3] arch: add corei7-avx Gustavo Zacarias
2015-04-09 21:35 ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.