diff options
author | Luca Boccassi <luca.boccassi@gmail.com> | 2018-09-03 10:48:52 +0100 |
---|---|---|
committer | Luca Boccassi <luca.boccassi@gmail.com> | 2018-09-03 10:49:31 +0100 |
commit | cbcf3d44176009673fbcd7d15671bef56c021f6b (patch) | |
tree | 03ac41bbf9f5f9f238e62de84d43dcce721b8dab /lib/librte_hash/rte_cuckoo_hash_x86.h | |
parent | 1d9284040a0ba38d86e6eeffdb25f36eeb7a44e1 (diff) | |
parent | 6e7cbd63706f3435b9d9a2057a37db1da01db9a7 (diff) |
Merge branch 'upstream-17.11-stable' into 17.11.x
Change-Id: Id5d87fa34325cf80217a1f633c9dc1808e931af8
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
Diffstat (limited to 'lib/librte_hash/rte_cuckoo_hash_x86.h')
-rw-r--r-- | lib/librte_hash/rte_cuckoo_hash_x86.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/librte_hash/rte_cuckoo_hash_x86.h b/lib/librte_hash/rte_cuckoo_hash_x86.h index 0c94244a..a2f1663e 100644 --- a/lib/librte_hash/rte_cuckoo_hash_x86.h +++ b/lib/librte_hash/rte_cuckoo_hash_x86.h @@ -95,6 +95,9 @@ rte_hash_cuckoo_move_insert_mw_tm(const struct rte_hash *h, while (try < RTE_HASH_TSX_MAX_RETRY) { status = rte_xbegin(); if (likely(status == RTE_XBEGIN_STARTED)) { + /* In case empty slot was gone before entering TSX */ + if (curr_bkt->key_idx[curr_slot] != EMPTY_SLOT) + rte_xabort(RTE_XABORT_CUCKOO_PATH_INVALIDED); while (likely(curr_node->prev != NULL)) { prev_node = curr_node->prev; prev_bkt = prev_node->bkt; |