Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Jul 2003 09:49:40 -0400 (EDT)
From:      Daniel Eischen <eischen@vigrid.com>
To:        Kai Mosebach <kai.mosebach@freshx.de>
Cc:        freebsd-threads@freebsd.org
Subject:   Re: EAGAIN failure on pthread_create
Message-ID:  <Pine.GSO.4.10.10307130943570.14764-100000@pcnet5.pcnet.com>
In-Reply-To: <001b01c34943$60e25cf0$0100000a@alpha>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 13 Jul 2003, Kai Mosebach wrote:
> Hi,
> 
> i started using libkse instead of linuxthreads in my sapdb port, but now
> on kernelstart i get the message :
> 
> 2003-07-13 15:29:20  4826 ERR 11008 TASKING  Could not create thread:
> 'Resource exeeed (curr:48)', rc = 1
> 2003-07-13 15:29:20  4826 ERR 11908 SYSTEM   FATAL: Could not start all
> user task threads
> 
> saying, that the return code of pthread_create is 1, and the number of
> created threads so far is 48, max_threads_per_proc is 150.

You probably are creating all your threads as scope system
threads.  Each scope system threads consumes a KSEG (limited
by kern.threads.max_grpups_per_proc).  I don't think you
really need each thread to be scope system; try making
the port use scope process[1].  If you insist that it does
need scope system threads, then raise max_groups_per_proc.

[1] To anticipate the question, "will one thread blocking
    block the entire process", no, other threads will be
    run.

-- 
Dan Eischen



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.10.10307130943570.14764-100000>