FIFO Optimization - final summary

John Baldwin jhb at freebsd.org
Mon Aug 24 20:31:10 UTC 2009


On Sunday 23 August 2009 8:24:26 am Zhao Shuai wrote:
> 2009/8/22 Ed Schouten <ed at 80386.nl>
> 
> > Hi,
> >
> > * Zhao Shuai <zhaoshuai at freebsd.org> wrote:
> > > Hi All,
> > >
> > > This summer I worked on rewriting the FIFO(named pipe) subsystem.
> > > The new FIFO system uses pipe implementation while previously
> > > it is implemented as socket.
> > >
> > > The new FIFO code passes the official regression test and the following
> > > bugs has been eliminated: PR 76525,PR 94772,PR 76144,PR 116770.
> > > According to my performance test, the new FIFO system increases the
> > > throughput by 30% comparing with the old one.
> > >
> > > I will continue to improve my code after GSoC and hope it can be merged
> > > with the main tree.
> >
> > I'm too lazy to read the source, check out sources, etc. but the pipe
> > and fifo code has now been merged, right? Just out of curiosity, how do
> 
> these changes affect the kernel binary size? How many lines of code have
> 
> been added/removed?
> 
> 
> The original pipe code is moved into sys/kern/subr_pipe.c where we deal
> with pipe internals. Most of the pipe code is kept untouched except some
> changes to several function prototype. /sys/kern/sys_pipe.c is now just a
> wrapper of pipe routines.
> 
> The affect on the kernel binary size is negligible.

Also, I've reviewed the changes and they were done in such a way that very 
minimal changes were made to the pipe code so history is well preserved.

-- 
John Baldwin


More information about the soc-status mailing list