From: Pablo Neira Ayuso Date: Mon, 6 Nov 2017 04:57:13 +0000 (+0100) Subject: netfilter: nf_tables: performance set policy skips size description in selection X-Git-Tag: v4.15-rc1~84^2~100^2~1 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=644e334eeec01a25138b62ebd576b3a798183c7c;p=uclinux-h8%2Flinux.git netfilter: nf_tables: performance set policy skips size description in selection Use the complexity and space notations if policy is performance, this results in placing the bitmap set representation over the hashtable for key <= 16 for better performance as we discussed during the last NFWS in Faro, Portugal. Signed-off-by: Pablo Neira Ayuso --- diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c index 929927171426..3b4a0739ee39 100644 --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c @@ -2549,14 +2549,9 @@ nft_select_set_ops(const struct nft_ctx *ctx, case NFT_SET_POL_PERFORMANCE: if (est.lookup < best.lookup) break; - if (est.lookup == best.lookup) { - if (!desc->size) { - if (est.space < best.space) - break; - } else if (est.size < best.size) { - break; - } - } + if (est.lookup == best.lookup && + est.space < best.space) + break; continue; case NFT_SET_POL_MEMORY: if (!desc->size) {