From owner-freebsd-threads@FreeBSD.ORG Sun Jul 13 06:49:42 2003 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 8209537B401 for ; Sun, 13 Jul 2003 06:49:42 -0700 (PDT) Received: from mail.pcnet.com (mail.pcnet.com [204.213.232.4]) by mx1.FreeBSD.org (Postfix) with ESMTP id CA91243F93 for ; Sun, 13 Jul 2003 06:49:41 -0700 (PDT) (envelope-from eischen@vigrid.com) Received: from mail.pcnet.com (mail.pcnet.com [204.213.232.4]) by mail.pcnet.com (8.12.8/8.12.1) with ESMTP id h6DDneAI015502; Sun, 13 Jul 2003 09:49:40 -0400 (EDT) Date: Sun, 13 Jul 2003 09:49:40 -0400 (EDT) From: Daniel Eischen X-Sender: eischen@pcnet5.pcnet.com To: Kai Mosebach In-Reply-To: <001b01c34943$60e25cf0$0100000a@alpha> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-threads@freebsd.org Subject: Re: EAGAIN failure on pthread_create X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: deischen@freebsd.org List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Jul 2003 13:49:42 -0000 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