Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Oct 2001 23:44:51 -0700 (PDT)
From:      Luigi Rizzo <luigi@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/sys mbuf.h
Message-ID:  <200110260644.f9Q6ipn98185@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
luigi       2001/10/25 23:44:51 PDT

  Modified files:        (Branch: RELENG_4)
    sys/sys              mbuf.h 
  Log:
  As discussed on -net, let M_LEADINGSPACE return a non-zero value
  for standard clusters with a refcnt of 1. This cannot possibly
  cause problems because it is exactly the same test performed when
  m_free'ing a cluster.
  
  This is mostly beneficial for boxes acting as routers, because M_PREPEND
  can now write the MAC header for forwarded packets into a cluster, instead
  of having to allocate a new mbuf and possibly hitting performance bugs on
  some NICs which cannot handle well scatter-gather I/O. I have measured
  a 15% improvement in the peak forwarding rate on a box using 21143 NICs.
  
  Note that to fully exploit non-shared clusters we also need to provide
  an m_pullup() variant which allows the pulled-up chunk of data to
  remain in the cluster, and use the new interface instead of m_pullup()
  when required (e.g. in ip_fw etc.).
  
  This does not go in CURRENT as is: as discussed in -net,
  M_LEADINGSPACE  should not check for writability, just report
  available space, leaving the check to some other piece of code.
  Unfortunately, some code in the tree depends on M_LEADINGSPACE
  checking for writability, and so implementing M_LEADINGSPACE
  in the correct way also requires to fix the incorrect usage.
  This is what will be done in CURRENT, but for STABLE, this is
  probably more than we want, and so we are happy (more or less) with
  this simple fix.
  
  Revision   Changes    Path
  1.44.2.11  +6 -3      src/sys/sys/mbuf.h

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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