> > V8: Remove internal ChangeId > > V7: Update the 1/3 patch headline and commit message > > V6: Rebase and drop the first patch as a similar fix was already merged. > > V5: Remove ChangeId(sorry for that) > > V4: > 1. Drop one patch for the test case to get time precisely as the overhead > of getting time is amortized already in another patch. > 2. Drop the ticket lock patch from this series as there are no dependency > between them, the ticket lock patch was submitted separately: > http://patchwork.dpdk.org/patch/49770/ > 3. Define volatile variable in patch #3 to be more realistic for spinlock > protection(avoid optimization be compiler). > 4. Fix typos. > > V3: > 1. Implemented the ticket lock to improve the fairness and predictability. > The locks are obtained in the order of requested. > > V2: > 1. FORCE_INTRINCIS is still an option for ppc/x86, although not is use > by default, so don't remove it from generic file. > 2. Fix the clang compiler error on x86 when the above FORCE_INTRINSICS > is enabled. > > 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 (3): > test/spinlock: remove 1us delay for correct benchmarking > test/spinlock: amortize the cost of getting time > spinlock: reimplement with atomic one-way barrier builtins > > app/test/test_spinlock.c | 31 > +++++++++++----------- > .../common/include/generic/rte_spinlock.h | 18 +++++++++---- > 2 files changed, 29 insertions(+), 20 deletions(-) > > -- Acked-by: Konstantin Ananyev <konstantin.anan...@intel.com> > 2.7.4