From owner-freebsd-hackers Mon Apr 24 3:14:13 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from pcnet1.pcnet.com (pcnet1.pcnet.com [204.213.232.3]) by hub.freebsd.org (Postfix) with ESMTP id 8D09B37B998 for ; Mon, 24 Apr 2000 03:14:10 -0700 (PDT) (envelope-from eischen@vigrid.com) Received: (from eischen@localhost) by pcnet1.pcnet.com (8.8.7/PCNet) id GAA07817; Mon, 24 Apr 2000 06:13:53 -0400 (EDT) Date: Mon, 24 Apr 2000 06:13:53 -0400 (EDT) From: Daniel Eischen To: "Brian O'Shea" Cc: Jason Evans , A G F Keahan , freebsd-hackers@FreeBSD.ORG Subject: Re: Multithreaded server performance In-Reply-To: <20000424010315.U337@beastie.localdomain> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Mon, 24 Apr 2000, Brian O'Shea wrote: > On Sun, Apr 23, 2000 at 09:21:15PM -0700, Jason Evans wrote: > > > > FreeBSD's libc_r does not use clone() or anything similar. Instead, it is > > a userland call conversion library that multiplexes threads in a single > > process. This style of threads library should perform well for the type of > > application you are dealing with. > > I was under the impression that, because user thread scheduling is done > in user mode, a thread that goes to sleep calling a blocking read() > system call will put the entire process to sleep until that read() > returns (and so all user threads in the process will also be blocked). > Is this correct? 1. You are mistaken. > If it is, it sounds like a user thread implementation would be bad for > Mr. Keahan's application, and something like the LinuxThreads port might > be more appropriate. > > > > > Note that there is also ports/devel/linuxthreads, which is based on > > rfork(), which can be made to behave like Linux's clone(). > > > > Jason > > Please correct me if I am wrong. Go To 1. ;-) -- Dan Eischen To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message