Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] uclibc: proper thread default on m68k and Microblaze
@ 2016-08-05 16:35 Thomas Petazzoni
  2016-08-07 12:21 ` Waldemar Brodkorb
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2016-08-05 16:35 UTC (permalink / raw)
  To: buildroot

Traditionally, Buildroot has a default of enabling thread
support. However, with the current construct of the thread choice in the
uclibc package, the m68k and microblaze architecture end up with no
thread support as the default.

In order to avoid having to explicit a more complicated "default" value
for the choice, we take a simple approach:

 - The "none" choice is moved at the end of the list, so that it is not
   selected as the default unless there is really no other thread
   implementation available.

 - We make NPTL the default thread implementation.

 - On architectures where NPTL is not available, the NPTL option will
   not be available, so Kconfig will automatically fallback to
   linuxthreads.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/uclibc/Config.in | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in
index 7c99195..b7714d4 100644
--- a/package/uclibc/Config.in
+++ b/package/uclibc/Config.in
@@ -47,15 +47,13 @@ config BR2_TOOLCHAIN_BUILDROOT_LOCALE
 
 choice
 	prompt "Thread library implementation"
+	# Use NPTL when available. If not available, kconfig will
+	# automatically fall back to linuxthreads.
 	default BR2_PTHREADS_NATIVE
-	default BR2_PTHREADS if !BR2_USE_MMU
 	help
 	  Use this option to select the thread library implementation
 	  that should be used in your toolchain.
 
-	config BR2_PTHREADS_NONE
-		bool "none"
-
 	config BR2_PTHREADS
 		bool "linuxthreads"
 		select BR2_TOOLCHAIN_HAS_THREADS
@@ -67,6 +65,10 @@ choice
 		select BR2_TOOLCHAIN_HAS_THREADS_NPTL
 		depends on BR2_USE_MMU
 		depends on !BR2_m68k && !BR2_microblaze
+
+	config BR2_PTHREADS_NONE
+		bool "none"
+
 endchoice
 
 config BR2_PTHREAD_DEBUG
-- 
2.7.4

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

* [Buildroot] [PATCH] uclibc: proper thread default on m68k and Microblaze
  2016-08-05 16:35 [Buildroot] [PATCH] uclibc: proper thread default on m68k and Microblaze Thomas Petazzoni
@ 2016-08-07 12:21 ` Waldemar Brodkorb
  2016-08-07 20:15 ` Yann E. MORIN
  2016-08-07 21:04 ` Thomas Petazzoni
  2 siblings, 0 replies; 5+ messages in thread
From: Waldemar Brodkorb @ 2016-08-07 12:21 UTC (permalink / raw)
  To: buildroot

Hi,
Thomas Petazzoni wrote,

> Traditionally, Buildroot has a default of enabling thread
> support. However, with the current construct of the thread choice in the
> uclibc package, the m68k and microblaze architecture end up with no
> thread support as the default.
> 
> In order to avoid having to explicit a more complicated "default" value
> for the choice, we take a simple approach:
> 
>  - The "none" choice is moved at the end of the list, so that it is not
>    selected as the default unless there is really no other thread
>    implementation available.
> 
>  - We make NPTL the default thread implementation.
> 
>  - On architectures where NPTL is not available, the NPTL option will
>    not be available, so Kconfig will automatically fallback to
>    linuxthreads.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Makes sense to me.
You can add:
Reviewed-by: Waldemar Brodkorb <wbx@openadk.org>

best regards
 Waldemar

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

* [Buildroot] [PATCH] uclibc: proper thread default on m68k and Microblaze
  2016-08-05 16:35 [Buildroot] [PATCH] uclibc: proper thread default on m68k and Microblaze Thomas Petazzoni
  2016-08-07 12:21 ` Waldemar Brodkorb
@ 2016-08-07 20:15 ` Yann E. MORIN
  2016-08-07 21:04   ` Thomas Petazzoni
  2016-08-07 21:04 ` Thomas Petazzoni
  2 siblings, 1 reply; 5+ messages in thread
From: Yann E. MORIN @ 2016-08-07 20:15 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2016-08-05 18:35 +0200, Thomas Petazzoni spake thusly:
> Traditionally, Buildroot has a default of enabling thread
> support. However, with the current construct of the thread choice in the
> uclibc package, the m68k and microblaze architecture end up with no
> thread support as the default.
> 
> In order to avoid having to explicit a more complicated "default" value
> for the choice, we take a simple approach:
> 
>  - The "none" choice is moved at the end of the list, so that it is not
>    selected as the default unless there is really no other thread
>    implementation available.
> 
>  - We make NPTL the default thread implementation.
> 
>  - On architectures where NPTL is not available, the NPTL option will
>    not be available, so Kconfig will automatically fallback to
>    linuxthreads.

And to make things even more simple, why not move NPTL first, then LT,
then none, and remove the default?

Thus, when NPTL is avbailable, it is used; if not, LT is used; if not,
then none is used.

Regards,
Yann E. MORIN.

> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  package/uclibc/Config.in | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in
> index 7c99195..b7714d4 100644
> --- a/package/uclibc/Config.in
> +++ b/package/uclibc/Config.in
> @@ -47,15 +47,13 @@ config BR2_TOOLCHAIN_BUILDROOT_LOCALE
>  
>  choice
>  	prompt "Thread library implementation"
> +	# Use NPTL when available. If not available, kconfig will
> +	# automatically fall back to linuxthreads.
>  	default BR2_PTHREADS_NATIVE
> -	default BR2_PTHREADS if !BR2_USE_MMU
>  	help
>  	  Use this option to select the thread library implementation
>  	  that should be used in your toolchain.
>  
> -	config BR2_PTHREADS_NONE
> -		bool "none"
> -
>  	config BR2_PTHREADS
>  		bool "linuxthreads"
>  		select BR2_TOOLCHAIN_HAS_THREADS
> @@ -67,6 +65,10 @@ choice
>  		select BR2_TOOLCHAIN_HAS_THREADS_NPTL
>  		depends on BR2_USE_MMU
>  		depends on !BR2_m68k && !BR2_microblaze
> +
> +	config BR2_PTHREADS_NONE
> +		bool "none"
> +
>  endchoice
>  
>  config BR2_PTHREAD_DEBUG
> -- 
> 2.7.4
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH] uclibc: proper thread default on m68k and Microblaze
  2016-08-07 20:15 ` Yann E. MORIN
@ 2016-08-07 21:04   ` Thomas Petazzoni
  0 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2016-08-07 21:04 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun, 7 Aug 2016 22:15:52 +0200, Yann E. MORIN wrote:

> And to make things even more simple, why not move NPTL first, then LT,
> then none, and remove the default?

Correct, I've changed the patch with this idea and applied. Thanks for
the suggestion!

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

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

* [Buildroot] [PATCH] uclibc: proper thread default on m68k and Microblaze
  2016-08-05 16:35 [Buildroot] [PATCH] uclibc: proper thread default on m68k and Microblaze Thomas Petazzoni
  2016-08-07 12:21 ` Waldemar Brodkorb
  2016-08-07 20:15 ` Yann E. MORIN
@ 2016-08-07 21:04 ` Thomas Petazzoni
  2 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2016-08-07 21:04 UTC (permalink / raw)
  To: buildroot

Hello,

On Fri,  5 Aug 2016 18:35:41 +0200, Thomas Petazzoni wrote:
> Traditionally, Buildroot has a default of enabling thread
> support. However, with the current construct of the thread choice in the
> uclibc package, the m68k and microblaze architecture end up with no
> thread support as the default.
> 
> In order to avoid having to explicit a more complicated "default" value
> for the choice, we take a simple approach:
> 
>  - The "none" choice is moved at the end of the list, so that it is not
>    selected as the default unless there is really no other thread
>    implementation available.
> 
>  - We make NPTL the default thread implementation.
> 
>  - On architectures where NPTL is not available, the NPTL option will
>    not be available, so Kconfig will automatically fallback to
>    linuxthreads.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  package/uclibc/Config.in | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)

Applied to master, after taking into account Yann's comment.

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

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

end of thread, other threads:[~2016-08-07 21:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-05 16:35 [Buildroot] [PATCH] uclibc: proper thread default on m68k and Microblaze Thomas Petazzoni
2016-08-07 12:21 ` Waldemar Brodkorb
2016-08-07 20:15 ` Yann E. MORIN
2016-08-07 21:04   ` Thomas Petazzoni
2016-08-07 21:04 ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox