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

Andre Oppermann andre at FreeBSD.org
Thu Dec 8 05:13:25 PST 2005


andre       2005-12-08 13:13:06 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             kern_mbuf.c uipc_mbuf.c 
    sys/sys              mbuf.h param.h 
  Log:
  Add an API for jumbo mbuf cluster allocation and also provide
  4k clusters in addition to 9k and 16k ones.
  
   struct mbuf *m_getjcl(int how, short type, int flags, int size)
   void *m_cljget(struct mbuf *m, int how, int size)
  
  m_getjcl() returns an mbuf with a cluster of the specified size attached
  like m_getcl() does for 2k clusters.
  
  m_cljget() is different from m_clget() as it can allocate clusters
  without attaching them to an mbuf.  In that case the return value
  is the pointer to the cluster of the requested size.  If an mbuf was
  specified, it gets the cluster attached to it and the return value
  can be safely ignored.
  
  For size both take MCLBYTES, MJUM4BYTES, MJUM9BYTES, MJUM16BYTES.
  
  Reviewed by:    glebius
  Tested by:      glebius
  Sponsored by:   TCP/IP Optimization Fundraise 2005
  
  Revision  Changes    Path
  1.16      +19 -1     src/sys/kern/kern_mbuf.c
  1.159     +3 -0      src/sys/kern/uipc_mbuf.c
  1.183     +88 -3     src/sys/sys/mbuf.h
  1.256     +3 -2      src/sys/sys/param.h


More information about the cvs-all mailing list