cvs commit: src/sys/conf files src/sys/kern kern_subr.c uipc_jumbo.c src/sys/pci if_ti.c src/sys/sys jumbo.h

Alan Cox alc at cs.rice.edu
Mon Dec 6 16:19:46 PST 2004


On Sun, Dec 05, 2004 at 08:22:54PM -0800, Nate Lawson wrote:
> Alan Cox wrote:
> >alc         2004-12-06 00:43:40 UTC
> >
> >  FreeBSD src repository
> >
> >  Modified files:
> >    sys/conf             files 
> >    sys/kern             kern_subr.c 
> >    sys/pci              if_ti.c 
> >  Removed files:
> >    sys/kern             uipc_jumbo.c 
> >    sys/sys              jumbo.h 
> >  Log:
> >  Update the Tigon 1 and 2 driver to use the sf_buf API for implementing
> >  zero-copy receive of jumbo frames.  This eliminates the need for the
> >  jumbo frame allocator implemented in kern/uipc_jumbo.c and sys/jumbo.h.
> >  Remove it.
> >  
> >  Note: Zero-copy receive of jumbo frames did not work without these 
> >  changes;
> >  I believe there was insufficient locking on the jumbo vm object.
> >  
> >  Tested by: ken@
> >  Discussed with: gallatin@
> >  
> >  Revision  Changes    Path
> >  1.973     +0 -1      src/sys/conf/files
> >  1.93      +4 -6      src/sys/kern/kern_subr.c
> >  1.12      +0 -254    src/sys/kern/uipc_jumbo.c (dead)
> >  1.98      +23 -15    src/sys/pci/if_ti.c
> >  1.6       +0 -59     src/sys/sys/jumbo.h (dead)
> 
> Excellent, thanks for doing this.  Having a generic zero-copy API was 
> something we had needed for a long time.  Perhaps cam_periph_mapmem() 
> (sys/cam/cam_periph.c) could also benefit?

Vmapbuf() is still probably the best method for cam_periph_mapmem().
A limitation of the sf_buf interface is that it cannot map two or more
physical pages to contiguous virtual pages.  Vmapbuf() does. 

Regards,
Alan


More information about the cvs-src mailing list