diff options
author | Nikolay Aleksandrov <nikolay@redhat.com> | 2014-08-01 12:29:48 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-08-03 00:31:31 +0200 |
commit | d4ad4d22e7ac6b8711b35d7e86eb29f03f8ac153 (patch) | |
tree | 929ebb9bc76b52037572bfb58475112989b51ba0 /net/ipv6/reassembly.c | |
parent | inet: frags: use INET_FRAG_EVICTED to prevent icmp messages (diff) | |
download | linux-d4ad4d22e7ac6b8711b35d7e86eb29f03f8ac153.tar.xz linux-d4ad4d22e7ac6b8711b35d7e86eb29f03f8ac153.zip |
inet: frags: use kmem_cache for inet_frag_queue
Use kmem_cache to allocate/free inet_frag_queue objects since they're
all the same size per inet_frags user and are alloced/freed in high volumes
thus making it a perfect case for kmem_cache.
Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
Acked-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r-- | net/ipv6/reassembly.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c index beb6872a8fa5..c6557d9f7808 100644 --- a/net/ipv6/reassembly.c +++ b/net/ipv6/reassembly.c @@ -60,6 +60,8 @@ #include <net/inet_frag.h> #include <net/inet_ecn.h> +static const char ip6_frag_cache_name[] = "ip6-frags"; + struct ip6frag_skb_cb { struct inet6_skb_parm h; @@ -748,7 +750,10 @@ int __init ipv6_frag_init(void) ip6_frags.qsize = sizeof(struct frag_queue); ip6_frags.match = ip6_frag_match; ip6_frags.frag_expire = ip6_frag_expire; - inet_frags_init(&ip6_frags); + ip6_frags.frags_cache_name = ip6_frag_cache_name; + ret = inet_frags_init(&ip6_frags); + if (ret) + goto err_pernet; out: return ret; |