19/08/2022 21:52, Cristian Dumitrescu: > The exact match and learner tables use a hash function for the lookup > operation. This patch set makes the hash function configurable and > removes some limitations. > > The hash function previously used by these table types had the > following limitations: > a) Not configurable: An internally hardcoded version was used; > b) Mask-based: This prevents using most of the available > hash functions, as they are not mask-based; > c) Key size limited to 64 bytes or less. > > The new hash function is: > a) Configurable; > b) Not mask-based; > c) Not limited to key sizes to less than or equal to 64 bytes. > > Also, since this flexibility has some performance cost, this patch set > also introduces key comparison functions specialized for each key size > value. Since the key size is fixed for each table, the key comparison > function can be selected at initialization as opposed to using a > generic function that can handle any key size. This strategy result in > a performance improvement for the table lookup operation of around 5%. > > Depends-on: series-24117 ("pipeline: pipeline configuration and build > improvements") > > Change log: > > V2: > -Added check for table match fields to be contiguous for exact match tables. > -Fixed bug in the specification file parsing related to hash function > configuration. > > Cristian Dumitrescu (6): > table: add hash function prototype > table: add key comparison functions > table: configure the hash function for regular tables > pipeline: configure the hash function for regular tables > table: configure the hash function for learner tables > pipeline: configure the hash function for learner tables
Applied, thanks.