lkml.org 
[lkml]   [2008]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 6/7] [NET]: uninline skb_trim, de-bloats
    Date
    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>
    ---
    include/linux/skbuff.h | 16 +---------------
    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 1baf4d4..ff72145 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)
    skb_set_tail_pointer(skb, len);
    }

    -/**
    - * 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.
    - */
    -static inline void skb_trim(struct sk_buff *skb, unsigned int len)
    -{
    - if (skb->len > len)
    - __skb_trim(skb, len);
    -}
    -
    +extern void skb_trim(struct sk_buff *skb, unsigned int len);

    static inline int __pskb_trim(struct sk_buff *skb, unsigned int len)
    {
    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.
    */

    --
    1.5.2.2
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2008-03-27 13:43    [W:1.921 / U:30.060 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site