cvs commit: src/sys/kern kern_mbuf.c uipc_mbuf.c src/sys/sys mbuf.h param.h

Andre Oppermann andre at FreeBSD.org
Wed Nov 2 08:20:37 PST 2005


andre       2005-11-02 16:20:36 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             kern_mbuf.c uipc_mbuf.c 
    sys/sys              mbuf.h param.h 
  Log:
  Mandatory mbuf cluster reference counting and groundwork for UMA
  based jumbo 9k and jumbo 16k cluster support.
  
  All mbuf's with external storage attached are mandatory reference
  counted.  For clusters and jumbo clusters UMA provides the refcnt
  storage directly.  It does not have to be separatly allocated.  Any
  other type of external storage gets its own refcnt allocated from
  an UMA mbuf refcnt zone instead of normal kernel malloc.
  
  The refcount API MEXT_ADD_REF() and MEXT_REM_REF() is no longer
  publically accessible.  The proper m_* functions have to be used.
  
  mb_ctor_clust() and mb_dtor_clust() both handle normal 2K as well
  as 9k and 16k clusters.
  
  Clusters and jumbo clusters may be obtained without attaching it
  immideatly to an mbuf.  This is for high performance cluster
  allocation in network drivers where mbufs are attached after the
  cluster has been filled.
  
  Tested by:      rwatson
  Sponsored by:   TCP/IP Optimizations Fundraise 2005
  
  Revision  Changes    Path
  1.12      +151 -42   src/sys/kern/kern_mbuf.c
  1.156     +95 -89    src/sys/kern/uipc_mbuf.c
  1.179     +19 -46    src/sys/sys/mbuf.h
  1.251     +3 -0      src/sys/sys/param.h


More information about the cvs-src mailing list