Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Jul 2002 07:55:35 -0700 (PDT)
From:      Bosko Milekic <bmilekic@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/kern subr_mbuf.c
Message-ID:  <200207231455.g6NEtZen084267@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
bmilekic    2002/07/23 07:55:35 PDT

  Modified files:
    sys/kern             subr_mbuf.c 
  Log:
  Introduce mb_free() to the MBP_PERSIST{,ENT} interface.  What this means
  is that grouped frees will be done as most often as possible without
  dropping the cache lock in between.  So, for the most part, they'll be
  done without the lock being dropped.  This is particularly true if you
  have something that does a grouped m_getm() or m_getcl() (a cluster and
  mbuf at the same time) - most likely getting the buffers from the
  same per-CPU cache - and then frees them with m_free{,m}().  Unless
  the buffers' underlying buckets were moved, the free will be done without
  the lock getting dropped in between.  So far, only m_free() has been
  shown how to do this, and m_freem() will shortly follow.
  
  Since I'm here, I also fixed a small (but mostly harmless) type-mismatch
  introduced in the last commit.
  
  Revision  Changes    Path
  1.22      +70 -17    src/sys/kern/subr_mbuf.c

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?200207231455.g6NEtZen084267>