diff options
author | Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> | 2008-03-27 20:54:01 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-03-27 20:54:01 -0400 |
commit | 419ae74ecc9494e58928a5c6652f4c072f3ca744 (patch) | |
tree | 5725c6b6558d07e0c39fc98c32f68f2a7e0cf3aa | |
parent | 8d3308687f7f1eaa1bb5d202d14752d5f90068eb (diff) |
[NET]: uninline skb_trim, de-bloats
Allyesconfig (v2.6.24-mm1):
-10976 209 funcs, 123 +, 11099 -, diff: -10976 --- skb_trim
Without number of debug related CONFIGs (v2.6.25-rc2-mm1):
-7360 192 funcs, 131 +, 7491 -, diff: -7360 --- skb_trim
skb_trim | +42
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/linux/skbuff.h | 16 | ||||
-rw-r--r-- | net/core/skbuff.c | 16 |
2 files changed, 17 insertions, 15 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 1baf4d43bb2d..ff72145d5d9e 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -1158,21 +1158,7 @@ static inline void __skb_trim(struct sk_buff *skb, unsigned int len) | |||
1158 | skb_set_tail_pointer(skb, len); | 1158 | skb_set_tail_pointer(skb, len); |
1159 | } | 1159 | } |
1160 | 1160 | ||
1161 | /** | 1161 | extern void skb_trim(struct sk_buff *skb, unsigned int len); |
1162 | * skb_trim - remove end from a buffer | ||
1163 | * @skb: buffer to alter | ||
1164 | * @len: new length | ||
1165 | * | ||
1166 | * Cut the length of a buffer down by removing data from the tail. If | ||
1167 | * the buffer is already under the length specified it is not modified. | ||
1168 | * The skb must be linear. | ||
1169 | */ | ||
1170 | static inline void skb_trim(struct sk_buff *skb, unsigned int len) | ||
1171 | { | ||
1172 | if (skb->len > len) | ||
1173 | __skb_trim(skb, len); | ||
1174 | } | ||
1175 | |||
1176 | 1162 | ||
1177 | static inline int __pskb_trim(struct sk_buff *skb, unsigned int len) | 1163 | static inline int __pskb_trim(struct sk_buff *skb, unsigned int len) |
1178 | { | 1164 | { |
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index a37127b5899c..86e5682728be 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c | |||
@@ -931,6 +931,22 @@ unsigned char *skb_pull(struct sk_buff *skb, unsigned int len) | |||
931 | } | 931 | } |
932 | EXPORT_SYMBOL(skb_pull); | 932 | EXPORT_SYMBOL(skb_pull); |
933 | 933 | ||
934 | /** | ||
935 | * skb_trim - remove end from a buffer | ||
936 | * @skb: buffer to alter | ||
937 | * @len: new length | ||
938 | * | ||
939 | * Cut the length of a buffer down by removing data from the tail. If | ||
940 | * the buffer is already under the length specified it is not modified. | ||
941 | * The skb must be linear. | ||
942 | */ | ||
943 | void skb_trim(struct sk_buff *skb, unsigned int len) | ||
944 | { | ||
945 | if (skb->len > len) | ||
946 | __skb_trim(skb, len); | ||
947 | } | ||
948 | EXPORT_SYMBOL(skb_trim); | ||
949 | |||
934 | /* Trims skb to length len. It can change skb pointers. | 950 | /* Trims skb to length len. It can change skb pointers. |
935 | */ | 951 | */ |
936 | 952 | ||