svn commit: r254812 - in head/sys: kern sys

Andre Oppermann andre at FreeBSD.org
Sat Aug 24 21:09:58 UTC 2013


Author: andre
Date: Sat Aug 24 21:09:57 2013
New Revision: 254812
URL: http://svnweb.freebsd.org/changeset/base/254812

Log:
  Remove unused m_free_fast().  The difference to m_free() is only
  2 predictable branches nowadays.  However as a pre-condition the
  caller had to ensure that the mbuf pkthdr did not have any mtags
  attached to it, costing some potential branches again.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/sys/kern/kern_mbuf.c
  head/sys/sys/mbuf.h

Modified: head/sys/kern/kern_mbuf.c
==============================================================================
--- head/sys/kern/kern_mbuf.c	Sat Aug 24 21:08:55 2013	(r254811)
+++ head/sys/kern/kern_mbuf.c	Sat Aug 24 21:09:57 2013	(r254812)
@@ -447,7 +447,7 @@ mb_dtor_mbuf(void *mem, int size, void *
 	m = (struct mbuf *)mem;
 	flags = (unsigned long)arg;
 
-	if ((flags & MB_NOTAGS) == 0 && (m->m_flags & M_PKTHDR) != 0)
+	if ((m->m_flags & M_PKTHDR) && !SLIST_EMPTY(&m->m_pkthdr.tags))
 		m_tag_delete_chain(m, NULL);
 	KASSERT((m->m_flags & M_EXT) == 0, ("%s: M_EXT set", __func__));
 	KASSERT((m->m_flags & M_NOFREE) == 0, ("%s: M_NOFREE set", __func__));

Modified: head/sys/sys/mbuf.h
==============================================================================
--- head/sys/sys/mbuf.h	Sat Aug 24 21:08:55 2013	(r254811)
+++ head/sys/sys/mbuf.h	Sat Aug 24 21:09:57 2013	(r254812)
@@ -453,8 +453,6 @@ struct mbuf {
 #define	MT_NOINIT	255	/* Not a type but a flag to allocate
 				   a non-initialized mbuf */
 
-#define MB_NOTAGS	0x1UL	/* no tags attached to mbuf */
-
 /*
  * Compatibility with historic mbuf allocator.
  */
@@ -636,17 +634,6 @@ m_getcl(int how, short type, int flags)
 	return (uma_zalloc_arg(zone_pack, &args, how));
 }
 
-static __inline void
-m_free_fast(struct mbuf *m)
-{
-#ifdef INVARIANTS
-	if (m->m_flags & M_PKTHDR)
-		KASSERT(SLIST_EMPTY(&m->m_pkthdr.tags), ("doing fast free of mbuf with tags"));
-#endif
-
-	uma_zfree_arg(zone_mbuf, m, (void *)MB_NOTAGS);
-}
-
 static __inline struct mbuf *
 m_free(struct mbuf *m)
 {


More information about the svn-src-head mailing list