mbox series

[v2,0/4] fixes for rte_hash with TSX

Message ID 20181112104719.62568-1-bruce.richardson@intel.com (mailing list archive)
Headers
Series fixes for rte_hash with TSX |

Message

Bruce Richardson Nov. 12, 2018, 10:47 a.m. UTC
  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 TSX aborts with newer gcc
  hash: add local cache for TSX region

 .../common/include/arch/x86/rte_spinlock.h          | 21 +++++++++++++++++----
 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, 36 insertions(+), 16 deletions(-)
  

Comments

Thomas Monjalon Nov. 14, 2018, 12:06 a.m. UTC | #1
12/11/2018 11:47, Bruce Richardson:
> 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 TSX aborts with newer gcc
>   hash: add local cache for TSX region

Series applied without patch 2 "hash: add local cache for TSX region".