Re: Too low PTHREAD_STACK_MIN value?

From: Maxim Sobolev <sobomax_at_sippysoft.com>
Date: Sat, 23 Jan 2016 00:58:59 -0800
For what it's worth, I agree with David. This looks like definite misuse of
the constant. If app X requires min size of stack of Y, it's fullish of it
if to expect our PTHREAD_STACK_MIN somehow accommodate that. It should be
really using MAX(PTHREAD_STACK_MIN, Y) to set its stack instead. Should be
easy to patch and it needs to be reported to the upstream vendor(s)
instead. Don't forget that bumping this limit, no matter how small, will
get multiplied by the number of threads running, which could be in many
thousands.

On Fri, Jan 22, 2016 at 4:09 AM, David Chisnall <theraven_at_freebsd.org>
wrote:

> On 21 Jan 2016, at 16:02, Ed Maste <emaste_at_freebsd.org> wrote:
> >
> > I found that lang/polyml uses PTHREAD_STACK_MIN for a trivial signal
> > handler thread it creates[1]. They found it was too small and
> > implemented a 4K minimum bound to fix polyml on FreeBSD[2]. Even if
> > this isn't really the intended use of PTHREAD_STACK_MIN it suggests
> > the 2K x86 minimum may indeed be too low.
> >
> > I ran into this while trying LLVM's libunwind, which requires more
> > stack space. 2K is certainly too low with LLVM libunwind. Is it
> > reasonable to just increase it to say 8K?
>
> I don’t really like this solution.  PTHREAD_STACK_MIN is the size for a
> stack that does not do anything.  You should never use it without adding
> the amount that you are going to need (which might be nothing if you are
> running code from a language that does not use a conventional C-style
> stack, but still wants to use OS threads).  Making it larger because a
> specific kind of thing that some consumers want to do with it needs more
> space is definitely against the spirit of the value and potentially harmful
> as it means that people using it correctly will be using a lot more memory
> per thread.
>
> David
>
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
>



-- 
Maksym Sobolyev
Sippy Software, Inc.
Internet Telephony (VoIP) Experts
Tel (Canada): +1-778-783-0474
Tel (Toll-Free): +1-855-747-7779
Fax: +1-866-857-6942
Web: http://www.sippysoft.com
MSN: sales_at_sippysoft.com
Skype: SippySoft
Received on Sat Jan 23 2016 - 07:59:01 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:02 UTC