This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] stdlib: Fixing test-*atexit*-race tests on ia64


On Thu, Feb 01, 2018 at 10:41:05AM -0200, Adhemerval Zanella wrote:
> The tests requires a new thread stack size to a value (0x20000) lower than
> architecture minimum (0x3000).  Set PTHREAD_STACK_MIN in this case.

These tests require a new thread stack size set to a value (0x20000)
lower than the architecture minimum (0x30000).  Set the stack size
to PTHREAD_STACK_MIN in this case.

> Checked on ia64-linux-gnu.
> 
> 	* stdlib/test-atexit-race-common.c (do_test): Check stack size
> 	against PTHREAD_STACK_MIN.
> ---
>  ChangeLog                        | 5 +++++
>  stdlib/test-atexit-race-common.c | 5 ++++-
>  2 files changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/stdlib/test-atexit-race-common.c b/stdlib/test-atexit-race-common.c
> index 4d7f911..02d459c 100644
> --- a/stdlib/test-atexit-race-common.c
> +++ b/stdlib/test-atexit-race-common.c
> @@ -34,9 +34,11 @@
>  #include <stdio.h>
>  #include <stdlib.h>
>  #include <support/xthread.h>
> +#include <sys/param.h>

#include <limits.h>

>  const size_t kNumThreads = 1024;
>  const size_t kNumHandlers = 1024;
> +const size_t kStacksize = 0x20000;

const size_t kStacksize =
	0x20000 < PTHREAD_STACK_MIN ? PTHREAD_STACK_MIN : 0x20000;

>  static void *
>  threadfunc (void *unused)
> @@ -60,7 +62,8 @@ do_test (void)
>    /* With default 8MiB Linux stack size, creating 1024 threads can cause
>       VM exhausiton on 32-bit machines.  Reduce stack size of each thread to
>       128KiB for a maximum required VM size of 128MiB.  */
> -  xpthread_attr_setstacksize (&attr, 128 * 1024);
> +  size_t ss = kStacksize < PTHREAD_STACK_MIN ? PTHREAD_STACK_MIN : kStacksize;
> +  xpthread_attr_setstacksize (&attr, ss);
>  
>    for (i = 0; i < kNumThreads; ++i) {
>      xpthread_create (&attr, threadfunc, NULL);

... and this hunk won't be needed at all.


-- 
ldv

Attachment: signature.asc
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]