v2: addressed comments from Stefano, see patches for details. 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 | 178 ++++++++++++++++++++-------- net/netfilter/nft_set_pipapo.h | 37 +++--- net/netfilter/nft_set_pipapo_avx2.c | 59 +++++---- 3 files changed, 179 insertions(+), 95 deletions(-) -- 2.43.0