Date: Tue, 17 Jan 2012 12:43:19 +0100 From: Giovanni Trematerra <gianni@freebsd.org> To: Bruce Evans <brde@optusnet.com.au> Cc: jilles@freebsd.org, Attilio Rao <attilio@freebsd.org>, flo@freebsd.org, Konstantin Belousov <kib@freebsd.org>, freebsd-arch@freebsd.org Subject: Re: pipe/fifo code merged. Message-ID: <CACfq092F%2BjeWT5SiQe-vy-oeFRYMtiWLergdBVMasVrpFU2Vpw@mail.gmail.com> In-Reply-To: <20120110153807.H943@besplex.bde.org> References: <CACfq093o9iVZKxCj58OR2hpCLDYTUTdxg_re_bEMYn2SrNrLCQ@mail.gmail.com> <20120110005155.S2378@besplex.bde.org> <CACfq09225iMYLe6p8jSiVhsDw_rqTyEHsvPdtZXLrQYT0-skzg@mail.gmail.com> <20120110153807.H943@besplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jan 10, 2012 at 10:41 AM, Bruce Evans <brde@optusnet.com.au> wrote: > On Mon, 9 Jan 2012, Giovanni Trematerra wrote: > >> On Mon, Jan 9, 2012 at 3:34 PM, Bruce Evans <brde@optusnet.com.au> wrote= : >>> >>> >>> I would go the other way, and pessimize pipes to be like fifos. =A0Then >>> optimize the socket layer under both. =A0Fifos 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. =A0I hope th= e >>> former is what you do -- share most pipe code, without making it more >>> complicated, and with making the fifo wrapper much simpler. =A0The Linu= x >>> 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. =A0Anyway.. 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. Thank you -- Gianni
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACfq092F%2BjeWT5SiQe-vy-oeFRYMtiWLergdBVMasVrpFU2Vpw>