From owner-freebsd-stable@FreeBSD.ORG Fri May 6 19:09:50 2005 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9630816A4D4 for ; Fri, 6 May 2005 19:09:50 +0000 (GMT) Received: from mail.ntplx.net (mail.ntplx.net [204.213.176.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3EE8D43D67 for ; Fri, 6 May 2005 19:09:50 +0000 (GMT) (envelope-from deischen@freebsd.org) Received: from sea.ntplx.net (sea.ntplx.net [204.213.176.11]) j46J9nPr002264; Fri, 6 May 2005 15:09:49 -0400 (EDT) Date: Fri, 6 May 2005 15:09:49 -0400 (EDT) From: Daniel Eischen X-X-Sender: eischen@sea.ntplx.net To: Christophe Yayon In-Reply-To: <50660.192.168.0.20.1115406166.squirrel@webmail.nbux.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: by AMaViS and Clam AntiVirus (mail.ntplx.net) cc: Brian McCann cc: freebsd-stable@freebsd.org Subject: Re: pthreads and nagios issue X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Daniel Eischen List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 May 2005 19:09:50 -0000 On Fri, 6 May 2005, Christophe Yayon wrote: > Hi, > > But is it a Nagios or FreeBSD problem, if you read "what's new" section on > nagios site, you can see : > ----------------- > FreeBSD and threads. On FreeBSD there's a native user-level implementation > of threads called 'pthread' and there's also an optional ports collection > 'linuxthreads' that uses kernel hooks. Some folks from Yahoo! have > reported that using the pthread library causes Nagios to pause under heavy > I/O load, causing some service check results to be lost. Switching to > linuxthreads seems to help this problem, but not fix it. The lock happens > in liblthread's __pthread_acquire() - it can't ever acquire the spinlock. > It happens when the main thread forks to execute an active check. On the > second fork to create the grandchild, the grandchild is created by fork, > but never returns from liblthread's fork wrapper, because it's stuck in > __pthread_acquire(). Maybe some FreeBSD users can help out with this > problem. > ------------------ > And it appears to be a FreeBSD pthread implementation problem (not a > Nagios specific problem...) > What do u think about that ? Re-read what is written above. __pthread_acquire() is in liblthread; that is linuxthreads and not a POSIX function. The reported FreeBSD pthread problem above is a "pause under heavy I/O load...". I'm not sure what could cause that -- need more info. -- DE