Re: [PATCH nf-next 8/8] nft_set_pipapo: Introduce AVX2-based lookup implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Nov 20, 2019 at 04:16:53PM +0100, Florian Westphal wrote:
> Stefano Brivio <sbrivio@xxxxxxxxxx> wrote:
> > If the AVX2 set is available, we can exploit the repetitive
> > characteristic of this algorithm to provide a fast, vectorised
> > version by using 256-bit wide AVX2 operands for bucket loads and
> > bitwise intersections.
> > 
> > In most cases, this implementation consistently outperforms rbtree
> > set instances despite the fact they are configured to use a given,
> > single, ranged data type out of the ones used for performance
> > measurements by the nft_concat_range.sh kselftest.
> 
> I think in that case it makes sense to remove rbtree once this new
> set type has had some upstream exposure and let pipapo handle the
> range sets.
> 
> Stefano, if I understand this right then we could figure out which
> implementation (C or AVX) is used via "grep avx2 /proc/cpuinfo".
> 
> If not, I think we might want to expose some additional debug info
> on set dumps.

I once submitted a patch introducing NFTA_SET_OPS, an attribute holding
set type's name in dumps. Maybe we can reuse that? It is message ID
20180403211540.23700-3-phil@xxxxxx (Subject: [PATCH v2 2/2] net:
nftables: Export set backend name via netlink).

Cheers, Phil



[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux