Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Sep 2003 07:27:24 -0400
From:      "Dan Langille" <dan@langille.org>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        hackers@freebsd.org
Subject:   Re: [PATCH] : libc_r/uthread/uthread_write.c
Message-ID:  <3F6AAFDC.10680.145CA650@localhost>
In-Reply-To: <3F6ACB36.1446DAAB@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 19 Sep 2003 at 2:24, Terry Lambert wrote:

> Daniel Eischen wrote:
> > > > If you are using libkse or
> > > > libthr, you will get a partial byte count and not zero because
> > > > the tape driver returns the (partial) bytes written.  So exiting
> > > > the loop in libc_r and returning 0 would only seem to correct
> > > > the "problem" for libc_r.
> > 
> > If there is a difference, it could be because libc_r is using non-blocking
> > IO behind the scenes, and sa(4) may be returning partial byte count
> > in the non-blocking case and 0 (or -1 and ENOSPC) in the blocking case
> > (which is what you'd get using libkse/libthr).
> 
> I would think that for non-block multiple and/or non-block-aligned
> writes, there's no way to avoid the fault-in penalty for the need
> to do read-before-write, so there will always be some unavoidable
> stalls.

My issue does not concern stalls.  It concerns lost data bacause EOT 
of not correctly signalled.  See http://www.freebsd.org/cgi/query-
pr.cgi?pr=56274.

But if I've missed the point, could someone please provide a Terry-
English translation?  I tried http://babelfish.altavista.com/ but had 
no succeess.
-- 
Dan Langille : http://www.langille.org/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F6AAFDC.10680.145CA650>