EAGAIN failure on pthread_create

Daniel Eischen eischen at vigrid.com
Sun Jul 13 06:49:42 PDT 2003


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



More information about the freebsd-threads mailing list