Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 31 Oct 1998 06:30:01 -0800 (PST)
From:      HighWind Software Information <info@highwind.com>
To:        freebsd-bugs@FreeBSD.ORG
Subject:   Re: kern/8500: FreeBSD 3.0 thread scheduler is broken
Message-ID:  <199810311430.GAA09602@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: HighWind Software Information <info@highwind.com>
To: peter@netplex.com.au
Cc: freebsd-gnats-submit@FreeBSD.ORG
Subject: Re: kern/8500: FreeBSD 3.0 thread scheduler is broken
Date: Sat, 31 Oct 1998 09:20:46 -0500 (EST)

    > >Number:         8500
    > >Category:       kern
    > >Synopsis:       FreeBSD 3.0 thread scheduler is broken
    > 
    > >Description:
    > When an application has threads that are I/O intensive, that thread
    > unfairly steals cycles from all other threads. This makes writing
    > an MT program that does any real amount of I/O impossible.
 
    Yes, open(), read(), write(), etc block the entire process.  The libc_r 
    thread engine only works for things that can be select()ed apon, and read/
    write cannot (yet).
 
 Ummm. Not to be rude.. But...
 
 That is NOT TRUE AT ALL. read() and write() CERTAINLY are selected
 apon and do NOT block the whole process when using libc_r.
 
 Read /usr/src/lib/libc_r/uthread/uthread_write.c and see for yourself.
  
    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.
 
 -Rob

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?199810311430.GAA09602>