* [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.