[PATCH 5/7] [NET]: uninline dst_release

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Andrew Morton <akpm@...>, David Miller <davem@...>, <netdev@...>, <linux-kernel@...>
Cc: Arnaldo Carvalho de Melo <acme@...>, Ilpo J <ilpo.jarvinen@...>
Date: Thursday, March 27, 2008 - 8:38 am

Codiff stats (allyesconfig, v2.6.24-mm1):
-16420  187 funcs, 103 +, 16523 -, diff: -16420 --- dst_release

Without number of debug related CONFIGs (v2.6.25-rc2-mm1):
-7257  186 funcs, 70 +, 7327 -, diff: -7257 --- dst_release
dst_release                   |  +40

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
---
 include/net/dst.h |   10 +---------
 net/core/dst.c    |   10 ++++++++++
 2 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/include/net/dst.h b/include/net/dst.h
index ae13370..002500e 100644
--- a/include/net/dst.h
+++ b/include/net/dst.h
@@ -163,15 +163,7 @@ struct dst_entry * dst_clone(struct dst_entry * dst)
 	return dst;
 }
 
-static inline
-void dst_release(struct dst_entry * dst)
-{
-	if (dst) {
-		WARN_ON(atomic_read(&dst->__refcnt) < 1);
-		smp_mb__before_atomic_dec();
-		atomic_dec(&dst->__refcnt);
-	}
-}
+extern void dst_release(struct dst_entry *dst);
 
 /* Children define the path of the packet through the
  * Linux networking.  Thus, destinations are stackable.
diff --git a/net/core/dst.c b/net/core/dst.c
index 694cd2a..fe03266 100644
--- a/net/core/dst.c
+++ b/net/core/dst.c
@@ -259,6 +259,16 @@ again:
 	return NULL;
 }
 
+void dst_release(struct dst_entry *dst)
+{
+	if (dst) {
+		WARN_ON(atomic_read(&dst->__refcnt) < 1);
+		smp_mb__before_atomic_dec();
+		atomic_dec(&dst->__refcnt);
+	}
+}
+EXPORT_SYMBOL(dst_release);
+
 /* Dirty hack. We did it in 2.2 (in __dst_free),
  * we have _very_ good reasons not to repeat
  * this mistake in 2.3, but we have no choice
-- 
1.5.2.2

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 1/7] [NET]: uninline skb_put, de-bloats a lot, Ilpo Järvinen, (Thu Mar 27, 8:38 am)
Re: [PATCH 1/7] [NET]: uninline skb_put, de-bloats a lot, Ilpo Järvinen, (Fri Mar 28, 3:56 pm)
[PATCH 2/7] [NET]: uninline skb_pull, de-bloats a lot, Ilpo Järvinen, (Thu Mar 27, 8:38 am)
[PATCH 3/7] [NET]: uninline dev_alloc_skb, de-bloats a lot, Ilpo Järvinen, (Thu Mar 27, 8:38 am)
Re: [PATCH 3/7] [NET]: uninline dev_alloc_skb, de-bloats a lot, Arnaldo Carvalho de Melo, (Thu Mar 27, 9:42 pm)
[PATCH 4/7] [NET]: uninline skb_push, de-bloats a lot, Ilpo Järvinen, (Thu Mar 27, 8:38 am)
[PATCH 5/7] [NET]: uninline dst_release, Ilpo Järvinen, (Thu Mar 27, 8:38 am)
Re: [PATCH 5/7] [NET]: uninline dst_release, David Miller, (Thu Mar 27, 8:53 pm)
[PATCH 6/7] [NET]: uninline skb_trim, de-bloats, Ilpo Järvinen, (Thu Mar 27, 8:38 am)
Re: [PATCH 6/7] [NET]: uninline skb_trim, de-bloats, David Miller, (Thu Mar 27, 8:54 pm)
[PATCH 7/7] [SCTP]: Remove sctp_add_cmd_sf wrapper bloat, Ilpo Järvinen, (Thu Mar 27, 8:38 am)