aboutsummaryrefslogtreecommitdiff
path: root/lib/test_overflow.c
diff options
context:
space:
mode:
authorLi RongQing <[email protected]>2018-07-25 15:52:13 +0800
committerPablo Neira Ayuso <[email protected]>2018-08-03 18:37:55 +0200
commit285189c78eeb6f684a024b86fb5997d10c6aa564 (patch)
treefb9a54b77b1e953269f5d2787cdbe75d6ea4aef2 /lib/test_overflow.c
parent4ed8eb6570a49931c705512060acd50058d61616 (diff)
netfilter: use kvmalloc_array to allocate memory for hashtable
nf_ct_alloc_hashtable is used to allocate memory for conntrack, NAT bysrc and expectation hashtable. Assuming 64k bucket size, which means 7th order page allocation, __get_free_pages, called by nf_ct_alloc_hashtable, will trigger the direct memory reclaim and stall for a long time, when system has lots of memory stress so replace combination of __get_free_pages and vzalloc with kvmalloc_array, which provides a overflow check and a fallback if no high order memory is available, and do not retry to reclaim memory, reduce stall and remove nf_ct_free_hashtable, since it is just a kvfree Signed-off-by: Zhang Yu <[email protected]> Signed-off-by: Wang Li <[email protected]> Signed-off-by: Li RongQing <[email protected]> Signed-off-by: Pablo Neira Ayuso <[email protected]>
Diffstat (limited to 'lib/test_overflow.c')
0 files changed, 0 insertions, 0 deletions