From owner-freebsd-threads@FreeBSD.ORG Mon Nov 29 08:12:06 2004 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0059416A4CE for ; Mon, 29 Nov 2004 08:12:06 +0000 (GMT) Received: from smtp1.jp.viruscheck.net (smtp1.jp.viruscheck.net [154.33.69.52]) by mx1.FreeBSD.org (Postfix) with ESMTP id A753B43D6D for ; Mon, 29 Nov 2004 08:12:05 +0000 (GMT) (envelope-from bland@FreeBSD.org) Received: from scan2.jp.viruscheck.net ([154.33.69.37] helo=mail2.jp.viruscheck.net) by smtp1.jp.viruscheck.net with esmtp (Exim 3.36 #1) id 1CYgdf-0006ID-00; Mon, 29 Nov 2004 17:12:03 +0900 Received: from [220.108.149.115] (helo=noc.orchid) by mail2.jp.viruscheck.net with esmtp (Exim 3.36 #3) id 1CYgdf-00009o-00; Mon, 29 Nov 2004 17:12:03 +0900 Received: from [89.60.10.11] (horse.orchid [89.60.10.11]) by noc.orchid (8.12.11/8.12.11) with ESMTP id iAT8BlfQ048875; Mon, 29 Nov 2004 17:11:48 +0900 (JST) (envelope-from bland@FreeBSD.org) Message-ID: <41AAD9BE.102@FreeBSD.org> Date: Mon, 29 Nov 2004 17:11:42 +0900 From: Alexander Nedotsukov User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8a5) Gecko/20041122 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Craig Rodrigues References: <41A1A3A5.20601@FreeBSD.org> <20041126185658.GA4213@crodrigues.org> In-Reply-To: <20041126185658.GA4213@crodrigues.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-threads@FreeBSD.org Subject: Re: Question about our default pthread stack size X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Nov 2004 08:12:06 -0000 Craig Rodrigues wrote: >On Mon, Nov 22, 2004 at 05:30:29PM +0900, Alexander Nedotsukov wrote: > > >>- main stream follows the stack usage rules I described above and chosen >>1MB/2MB for their default stacks size. >>- we have limit which most likely triggers SIGSEGV. >> >> > > >Alexander, what was the original application which you >were working with where you encountered this thread stack problem? > > This time it was libburn which did on stack reservation for its data structures which just exeeds 64K. Another sample could be gstreamer which is much more stack hungry. >It would be good if multithreaded code that was written >on Linux or Solaris worked as much as possible "out of the box", >especially large applications like GNOME. Like it or not, >these are dominant platforms, and we might have to adjust >a bit to accomodate their quirks of large default thread stack size >(a developer can always decrease the stack size with >pthread_attr_setstacksize() if his application requires a smaller stack). > >What is the patch that would be required to increase the >default stacksize in libpthread, so that mainstream >applicatons like GNOME, or the application you were working >with, would "just work"? > >Is it something like: > > Yep. It is. If this going to be commited please bump __FreeBSD_version so we'll be able to conditionaly remove current hacks. Thanks, Alexander. > >--- /tmp/thr_private.h.orig Fri Nov 26 13:50:16 2004 >+++ /tmp/thr_private.h Fri Nov 26 13:50:55 2004 >@@ -450,14 +450,14 @@ > /* > * Miscellaneous definitions. > */ >-#define THR_STACK_DEFAULT 65536 >+#define THR_STACK_DEFAULT 0x100000 > > /* > * Maximum size of initial thread's stack. This perhaps deserves to be larger > * than the stacks of other threads, since many applications are likely to run > * almost entirely on this stack. > */ >-#define THR_STACK_INITIAL 0x100000 >+#define THR_STACK_INITIAL 0x200000 > > /* > * Define the different priority ranges. All applications have thread > > > >