git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vfio: fix maximum number of interrupt for MSI-X
[dpdk.git]
/
lib
/
librte_hash
/
rte_cuckoo_hash.h
diff --git
a/lib/librte_hash/rte_cuckoo_hash.h
b/lib/librte_hash/rte_cuckoo_hash.h
index
6549731
..
1b8ffed
100644
(file)
--- a/
lib/librte_hash/rte_cuckoo_hash.h
+++ b/
lib/librte_hash/rte_cuckoo_hash.h
@@
-130,7
+130,7
@@
enum add_key_case {
};
/** Number of items per bucket. */
};
/** Number of items per bucket. */
-#define RTE_HASH_BUCKET_ENTRIES
4
+#define RTE_HASH_BUCKET_ENTRIES
8
#define NULL_SIGNATURE 0
#define NULL_SIGNATURE 0
@@
-140,6
+140,8
@@
enum add_key_case {
#define LCORE_CACHE_SIZE 64
#define LCORE_CACHE_SIZE 64
+#define RTE_HASH_MAX_PUSHES 100
+
#define RTE_HASH_BFS_QUEUE_MAX_LEN 1000
#define RTE_XABORT_CUCKOO_PATH_INVALIDED 0x4
#define RTE_HASH_BFS_QUEUE_MAX_LEN 1000
#define RTE_XABORT_CUCKOO_PATH_INVALIDED 0x4
@@
-161,12
+163,19
@@
struct rte_hash_key {
char key[0];
} __attribute__((aligned(KEY_ALIGNMENT)));
char key[0];
} __attribute__((aligned(KEY_ALIGNMENT)));
+/* All different signature compare functions */
+enum rte_hash_sig_compare_function {
+ RTE_HASH_COMPARE_SCALAR = 0,
+ RTE_HASH_COMPARE_SSE,
+ RTE_HASH_COMPARE_AVX2,
+ RTE_HASH_COMPARE_NUM
+};
+
/** Bucket structure */
struct rte_hash_bucket {
hash_sig_t sig_current[RTE_HASH_BUCKET_ENTRIES];
/** Bucket structure */
struct rte_hash_bucket {
hash_sig_t sig_current[RTE_HASH_BUCKET_ENTRIES];
- /* Includes dummy key index that always contains index 0 */
- uint32_t key_idx[RTE_HASH_BUCKET_ENTRIES + 1];
+ uint32_t key_idx[RTE_HASH_BUCKET_ENTRIES];
hash_sig_t sig_alt[RTE_HASH_BUCKET_ENTRIES];
hash_sig_t sig_alt[RTE_HASH_BUCKET_ENTRIES];
@@
-199,6
+208,8
@@
struct rte_hash {
/**< Custom function used to compare keys. */
enum cmp_jump_table_case cmp_jump_table_idx;
/**< Indicates which compare function to use. */
/**< Custom function used to compare keys. */
enum cmp_jump_table_case cmp_jump_table_idx;
/**< Indicates which compare function to use. */
+ enum rte_hash_sig_compare_function sig_cmp_fn;
+ /**< Indicates which signature compare function to use. */
uint32_t bucket_bitmask;
/**< Bitmask for getting bucket index from hash signature. */
uint32_t key_entry_size; /**< Size of each key entry. */
uint32_t bucket_bitmask;
/**< Bitmask for getting bucket index from hash signature. */
uint32_t key_entry_size; /**< Size of each key entry. */