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>