04/11/2021 17:39, Medvedkin, Vladimir: > >> 01/11/2021 11:55, Syam Prasad N Pearson: > >>> /** Number of items per bucket. */ > >>> *#define RTE_HASH_BUCKET_ENTRIES 8* > >>> > >>> defined inside: > >>> dpdk-20.11.3/dpdk-stable-20.11.3/lib/librte_hash /rte_cuckoo_hash.h > >>> > >>> Why does the library take this value as *8*, is there any particular > >>> reason for this? what if it is 16,32... etc. > > Yes, RTE_HASH_BUCKET_ENTRIES can be any power of 2. > The reason for choosing 8 is a tradeoff between performance and memory. > When it is equal to 8, the sizeof(struct rte_hash_bucket) equal to > RTE_CACHE_LINE_SIZE, thus, there are no gaps in memory between the hash > buckets due to their alignment.
That's a good comment to add in the code.