perf sched: Use PTHREAD_STACK_MIN to avoid pthread_attr_setstacksize() fail
authorJiri Pirko <jpirko@redhat.com>
Mon, 10 Jan 2011 16:14:23 +0000 (14:14 -0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 10 Jan 2011 16:16:00 +0000 (14:16 -0200)
on ppc64:
/usr/include/bits/local_lim.h:#define PTHREAD_STACK_MIN 131072

therefore following set of commands:

gives:
perf.2.6.37test: builtin-sched.c:493: create_tasks: Assertion `!(err)' failed.

So make sure we do not set stack size lower than PTHREAD_STACK_MIN.

Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
LKML-Reference: <20110110160417.GB2685@psychotron.brq.redhat.com>
Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

tools/perf/builtin-sched.c

index 54024d2..abd4b84 100644 (file)
@@ -489,7 +489,8 @@ static void create_tasks(void)
 
        err = pthread_attr_init(&attr);
        BUG_ON(err);
-       err = pthread_attr_setstacksize(&attr, (size_t)(16*1024));
+       err = pthread_attr_setstacksize(&attr,
+                       (size_t) max(16 * 1024, PTHREAD_STACK_MIN));
        BUG_ON(err);
        err = pthread_mutex_lock(&start_work_mutex);
        BUG_ON(err);