RE: [Fwd: Weird ia64 problem]

From: Jeff Licquia <licquia_at_progeny.com>
Date: 2005-10-06 08:30:35
On Wed, 2005-10-05 at 15:09 -0700, Luck, Tony wrote:
> >Do you expect a partial write, rather than the EAGAIN?
> 
> I suppose you should expect EAGAIN here: http://tinyurl.com/82wr9
> describes this situation quite clearly.
> 
> So either:
> 1) ia64 thinks 4120 is less than PIPE_BUF, so that it believes
>    that it should not do a partial write

Except that the test code asks the system for PIPE_BUF, and then adds to
it to determine how much to write.  (See lines 26, 32, and 33 of my
test.)  Specifically, we try to write PIPE_BUF + 24 bytes.

> 2) Even though we removed some data from the pipe, it thinks that
>    it is still all the way full.

Hmm.  The spec doesn't seem to say whether a read of PIPE_BUF bytes on a
full pipe _must_ put the pipe in a state where it can accept more input.
The test, certainly, seems to think this is mandatory.

> [My tests on 2.6.14-rc2].
> 
> Which other architectures have you tried this on?  Is ia64 all alone
> in failing this test?

Yup.  In fact, only recent kernels fail; 2.6.8 succeeds, while 2.6.12
fails.

For other architectures, I've tested on i386 and amd64 for both 2.6.8
and 2.6.12 kernels.

-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Thu Oct 06 08:31:11 2005

This archive was generated by hypermail 2.1.8 : 2005-10-06 08:31:18 EST