diff options
author | Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> | 2008-03-27 17:54:01 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-03-27 17:54:01 -0700 |
commit | 419ae74ecc9494e58928a5c6652f4c072f3ca744 (patch) | |
tree | 5725c6b6558d07e0c39fc98c32f68f2a7e0cf3aa /net/core/skbuff.c | |
parent | 8d3308687f7f1eaa1bb5d202d14752d5f90068eb (diff) | |
download | op-kernel-dev-419ae74ecc9494e58928a5c6652f4c072f3ca744.zip op-kernel-dev-419ae74ecc9494e58928a5c6652f4c072f3ca744.tar.gz |
[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>
Diffstat (limited to 'net/core/skbuff.c')
-rw-r--r-- | net/core/skbuff.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index a37127b..86e5682 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) } EXPORT_SYMBOL(skb_pull); +/** + * skb_trim - remove end from a buffer + * @skb: buffer to alter + * @len: new length + * + * Cut the length of a buffer down by removing data from the tail. If + * the buffer is already under the length specified it is not modified. + * The skb must be linear. + */ +void skb_trim(struct sk_buff *skb, unsigned int len) +{ + if (skb->len > len) + __skb_trim(skb, len); +} +EXPORT_SYMBOL(skb_trim); + /* Trims skb to length len. It can change skb pointers. */ |