Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Dec 2004 18:19:45 -0600
From:      Alan Cox <alc@cs.rice.edu>
To:        Nate Lawson <nate@root.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: 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
Message-ID:  <20041207001945.GW16680@cs.rice.edu>
In-Reply-To: <41B3DE9E.3080307@root.org>
References:  <20041206004349.8F02916A581@hub.freebsd.org> <41B3DE9E.3080307@root.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041207001945.GW16680>