Re: [patch] updates for the pipe code

From: Manfred Spraul (manfreds@colorfullife.com)
Date: Fri Mar 03 2000 - 18:20:34 EST


Richard Gooch wrote:
>
> I don't really have a test application. It's my shell scripts for
> synchronising my window manager and X client. The reader is cat and
> the writer is tcsh/echo.
>
> No-one should be doing O_NONBLOCK. I don't really know which is
> starting first. Earlier in 2.3.4x I had some testcode which sometimes
> demonstrated the same problem, but that testcode hasn't failed yet
> with 2.3.48.
>

Ok. I found the first unrelated problem:
both pipe_read and pipe_write use

        PIPE_WAITING_{READERS,WRITERS}(*inode)--;

without any locking. This is not SMP safe, but you wrote that it also
happens on UP.

if PIPE_WAITING_WRITERS gets stuck at one, then pipe_read(,32k) will not
return until 32k bytes are written.

I'll try to concentrate on an UP problem, but so far without success.

--
	Manfred

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Mar 07 2000 - 21:00:15 EST