|Giovanni Trematerra||Jan 7, 2012 6:35 pm|
|John Baldwin||Jan 9, 2012 5:48 am|
|Bruce Evans||Jan 9, 2012 6:34 am|
|Kostik Belousov||Jan 9, 2012 6:46 am|
|Giovanni Trematerra||Jan 9, 2012 2:27 pm|
|Giovanni Trematerra||Jan 9, 2012 3:19 pm|
|Bruce Evans||Jan 10, 2012 4:03 am|
|Giovanni Trematerra||Jan 10, 2012 3:04 pm|
|Giovanni Trematerra||Jan 10, 2012 3:33 pm|
|Giovanni Trematerra||Jan 10, 2012 4:14 pm|
|Giovanni Trematerra||Jan 12, 2012 12:55 am|
|Bruce Evans||Jan 12, 2012 4:51 am|
|Giovanni Trematerra||Jan 17, 2012 3:42 am|
|Jilles Tjoelker||Jan 28, 2012 3:36 pm|
|Bruce Evans||Jan 29, 2012 3:31 am|
|Giovanni Trematerra||Jan 31, 2012 1:48 pm|
|Subject:||Re: pipe/fifo code merged.|
|From:||Giovanni Trematerra (gia...@freebsd.org)|
|Date:||Jan 17, 2012 3:42:56 am|
On Tue, Jan 10, 2012 at 10:41 AM, Bruce Evans <br...@optusnet.com.au> wrote:
On Mon, 9 Jan 2012, Giovanni Trematerra wrote:
On Mon, Jan 9, 2012 at 3:34 PM, Bruce Evans <br...@optusnet.com.au> wrote:
I would go the other way, and pessimize pipes to be like fifos. Then optimize the socket layer under both. Fifos are not important, but they are implemented on top of the socket layer which is important. Pipes are important. ... ...
Linux-2.6.10 implements fifos as a small wrapper around pipes, while FreeBSD implements them as a large wrapper around sockets. I hope the former is what you do -- share most pipe code, without making it more complicated, and with making the fifo wrapper much simpler. The Linux code is much simpler and smaller, since for pipes it it doesn't implement direct mode, and for sockets it doesn't have to interact with the complicated socket layer.
If you read the patch, as I think you didn't, you'd see that there's no wrapper at all. fifo's code is just fifo_open, fifo_close and another couple of helper functions to deal with VFS, all the remaining code is shared with pipes and no complicated code was added.
I think you don't want me to read the patch, since I would see too much detail starting with style bugs. Anyway..
Did you agree that this patch http://www.trematerra.net/patches/pipefifo_merge2.4.diff
doesn't introduce any further regressions while it fixes
- style bugs you pointed out. - pipe_stat now use underlying filesystem information for pipes. - comment about pipeinfo was intended for. - race into pipe_poll (look at fifo_iseof line).
I want to work on the other problems you outlined in order to get all the regression test passing, more posix compliance and so on but on a separate patchset.
_______________________________________________ free...@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-arch To unsubscribe, send any mail to "free...@freebsd.org"