Bulk insertions into pipapo set type take a very long time, each new element allocates space for elem+1 elements, then copies all existing elements and appends the new element. Alloc extra slack space to reduce the realloc overhead to speed this up. While at it, shrink a few data structures, in may cases a much smaller type can be used. Florian Westphal (4): netfilter: nft_set_pipapo: constify lookup fn args where possible netfilter: nft_set_pipapo: do not rely on ZERO_SIZE_PTR netfilter: nft_set_pipapo: shrink data structures netfilter: nft_set_pipapo: speed up bulk element insertions net/netfilter/nft_set_pipapo.c | 174 ++++++++++++++++++++-------- net/netfilter/nft_set_pipapo.h | 37 +++--- net/netfilter/nft_set_pipapo_avx2.c | 26 ++--- 3 files changed, 153 insertions(+), 84 deletions(-) -- 2.43.0