mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
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 <[email protected]> Acked-by: Florian Westphal <[email protected]> Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
2e404f632f
commit
d4ad4d22e7
6 changed files with 35 additions and 9 deletions
|
|
@ -50,6 +50,7 @@
|
|||
#include <linux/module.h>
|
||||
#include <net/netfilter/ipv6/nf_defrag_ipv6.h>
|
||||
|
||||
static const char nf_frags_cache_name[] = "nf-frags";
|
||||
|
||||
struct nf_ct_frag6_skb_cb
|
||||
{
|
||||
|
|
@ -677,12 +678,15 @@ int nf_ct_frag6_init(void)
|
|||
nf_frags.qsize = sizeof(struct frag_queue);
|
||||
nf_frags.match = ip6_frag_match;
|
||||
nf_frags.frag_expire = nf_ct_frag6_expire;
|
||||
inet_frags_init(&nf_frags);
|
||||
|
||||
nf_frags.frags_cache_name = nf_frags_cache_name;
|
||||
ret = inet_frags_init(&nf_frags);
|
||||
if (ret)
|
||||
goto out;
|
||||
ret = register_pernet_subsys(&nf_ct_net_ops);
|
||||
if (ret)
|
||||
inet_frags_fini(&nf_frags);
|
||||
|
||||
out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue