Re: + net-uninline-skb_put.patch added to -mm tree

From: David Miller
Date: Mon Nov 06 2006 - 17:42:48 EST


From: akpm@xxxxxxxx
Date: Fri, 03 Nov 2006 14:18:29 -0800

> Subject: net: uninline skb_put()
> From: Andrew Morton <akpm@xxxxxxxx>
>
> It has 34 callsites for a total of 2650 bytes.
>
> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxx>

A more accurate figure would probably be:

davem@sunset:~/src/GIT/net-2.6$ git grep skb_put | grep -v __skb_put | wc -l
1167

:-)

Half of the cost of this interface are the assertions, which while
useful are obviously over the top for such an oft-used routine in
packet processing.

Without the assertion checks it's merely:

unsigned char *tmp = skb->tail;
skb->tail += len;
skb->len += len;
return tmp;

And even with 1167 call sites that is definitely something which
should be inlined.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/