Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 02 Apr 2003 15:31:14 -0800
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Peter Wemm <peter@wemm.org>
Cc:        current@FreeBSD.org
Subject:   Re: libthr and 1:1 threading.
Message-ID:  <3E8B72C2.343AAEBD@mindspring.com>
References:  <20030402205608.2FCF82A8A5@canning.wemm.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

-- Terry



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3E8B72C2.343AAEBD>