Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Nov 1998 09:30:00 -0800 (PST)
From:      Tony Finch <dot@dotat.at>
To:        freebsd-bugs@FreeBSD.ORG
Subject:   Re: kern/8500: FreeBSD 3.0 thread scheduler is broken 
Message-ID:  <199811021730.JAA26749@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/8500; it has been noted by GNATS.

From: Tony Finch <dot@dotat.at>
To: peter@netplex.com.au
Cc: freebsd-gnats-submit@freebsd.org
Subject: Re: kern/8500: FreeBSD 3.0 thread scheduler is broken 
Date: Mon, 2 Nov 1998 17:41:39 +0000

 Peter Wemm <peter@netplex.com.au> wrote:
 > HighWind Software Information wrote:
 >
 > >    The only alternatives are to use the aio/lio syscalls (which work), or
 > >    rfork().  libc_r could probably be modified to use rfork() to have the
 > >    read/write/open/close/etc done in parallel.
 > >
 > > I don't think that is necessary.
 >
 > It is if you want the threading to continue while the disk is grinding
 > away.  aio_read() and aio_write() would probably be enough to help file
 > IO, but open() will still be blocking.
 >
 > Squid has some fairly extensive async disk-IO routines.  They happen to
 > use pthreads as a mechanism of having child processes do the blocking
 > work.  FreeBSD could use rfork() for arranging the blocking stuff in child
 > processes with shared address space.  It would be a lot of work though,
 > and would be a problem on SMP systems.
 
 We have been trying out Squid on 3.0 because of the possibilities
 offered by async IO, but so far we haven't managed to get it to work
 satisfactorily. I was also thinking about the possibility of using
 rfork() to implement threads -- the Linux pthreads implementation does
 this (except that Linux has clone() instead of rfork() and the
 interface is slightly different).
 
 What are the SMP issues?
 
 Tony.
 -- 
                    gg yhf**f.a.n.finch
                                     fanf@demon.net
                  dot@dotat.at

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199811021730.JAA26749>