When testing with rte_hash library and TSX, a higher level of transaction aborts was observed in some cases, especially with newer compilers. These patches reduce aborts by ensuring that the compiler does not accidentally insert instructions that cause aborts, and by adding in delays on retry to avoid repeated collisions.
Bruce Richardson (2): eal/x86: reduce contention when retrying TSX test/test: improve output for hash read-write test Yipeng Wang (2): hash: fix extra TSX collisions with newer gcc hash: add local cache for TSX region .../common/include/arch/x86/rte_spinlock.h | 19 ++++++++++++++++--- lib/librte_eal/linuxapp/eal/eal_alarm.c | 2 ++ lib/librte_hash/rte_cmp_x86.h | 2 ++ lib/librte_hash/rte_cuckoo_hash.c | 7 ++++--- test/test/test_hash_readwrite.c | 20 +++++++++++--------- 5 files changed, 35 insertions(+), 15 deletions(-) -- 1.8.5.6