mbox

[v1,0/5] spinlock optimization and test case enhancements

Message ID 20181220104246.5590-1-gavin.hu@arm.com (mailing list archive)
Headers

Message

Gavin Hu Dec. 20, 2018, 10:42 a.m. UTC
  V1:
1. Remove the 1us delay outside of the locked region to really benchmark
   the spinlock acquire/release performance, not the delay API.
2. Use the precise version of getting timestamps for more precise
   benchmarking results.
3. Amortize the overhead of getting the timestamp by 10000 loops
4. Move the arm specific implementation to arm folder to remove the
   hardcoded implementation.
5. Use atomic primitives, which translate to one-way barriers, instead of
   two-way sync primitives, to optimize for performance.

Gavin Hu (5):
  test/spinlock: remove 1us delay to create contention
  test/spinlock: get timestamp more precisely
  test/spinlock: amortize the cost of getting time
  spinlock: move the implementation to arm specific file
  spinlock: reimplement with atomic one-way barrier builtins

 .../common/include/arch/arm/rte_spinlock.h         | 28 +++++++++++++++++
 .../common/include/generic/rte_spinlock.h          | 28 +----------------
 test/test/test_spinlock.c                          | 35 +++++++++++-----------
 3 files changed, 47 insertions(+), 44 deletions(-)