libthr and 1:1 threading.
Jeff Roberson
jroberson at chesapeake.net
Wed Apr 2 15:39:39 PST 2003
On Wed, 2 Apr 2003, Terry Lambert wrote:
> Peter Wemm wrote:
> > No. It gives the ability for a thread to block on a syscall without
> > stalling the entire system. Just try using mysqld on a system using libc_r
> > and heavy disk IO. You can't select() on a read() from disk. Thats the
> > ultimate reason to do it. The SMP parallelism is a bonus.
>
> Bug in FreeBSD's NBIO implementation. A read() that would result
> in page-in needs to queue the request, but return EAGAIN to user
> space to indicate the request cannot be satisfied. Making select()
> come true for disk I/O after the fault is satisfied is a seperate
> issue. Probably need to pass the fd all the way down.
>
Please quote the standard that defines this behavior. This is entirely
counter to everything that I have ever read on the subject.
More information about the freebsd-current
mailing list