mbox series

[v5,0/3] rwlock: reimplement rwlock with atomic and add relevant perf test case

Message ID 1553505299-34459-1-git-send-email-joyce.kong@arm.com (mailing list archive)
Headers
Series rwlock: reimplement rwlock with atomic and add relevant perf test case |

Message

Joyce Kong March 25, 2019, 9:14 a.m. UTC
  v5: Minor format change.

v4: Change _try_ functions to use __atomic too (for consistency)(Suggested by Ananyev, Konstantin).

v3: Fix headline format error.

v2: Rebase and modify the rwlock test case to address the comments in v1.

v1: Reimplement rwlock with atomic builtins, and add a rwlock perf test
    on all available cores to benchmark the improvement.

	We tested the patches on three arm64 platforms.
	ThundeX2 gained 20% performance, Qualcomm gained 36% and
	the 4-Cortex-A72 Marvell MACCHIATObin gained 19.6%.
	
	Below is the detailed test result on ThunderX2:

	*** rwlock_autotest without atomic builtins ***
	Rwlock Perf Test on 128 cores...
	Core [0] count = 281
	Core [1] count = 252
	Core [2] count = 290
	Core [3] count = 259
	Core [4] count = 287
	...
	Core [209] count = 3
	Core [210] count = 31
	Core [211] count = 120
	Total count = 18537

	*** rwlock_autotest with atomic builtins ***
	Rwlock Perf Test on 128 cores...
	Core [0] count = 346
	Core [1] count = 355
	Core [2] count = 259
	Core [3] count = 285
	Core [4] count = 320
	...
	Core [209] count = 2
	Core [210] count = 23
	Core [211] count = 63
	Total count = 22194

Gavin Hu (1):
  rwlock: reimplement with atomic builtins

Joyce Kong (2):
  test/rwlock: add perf test case on all available cores
  test/rwlock: amortize the cost of getting time

 app/test/test_rwlock.c                             | 77 ++++++++++++++++++++++
 lib/librte_eal/common/include/generic/rte_rwlock.h | 29 ++++----
 2 files changed, 92 insertions(+), 14 deletions(-)
  

Comments

Thomas Monjalon March 28, 2019, 10:50 a.m. UTC | #1
> Gavin Hu (1):
>   rwlock: reimplement with atomic builtins
> 
> Joyce Kong (2):
>   test/rwlock: add perf test case on all available cores
>   test/rwlock: amortize the cost of getting time

Applied, thanks
  
Kevin Traynor April 16, 2019, 2:57 p.m. UTC | #2
On 25/03/2019 09:14, Joyce Kong wrote:
> Gavin Hu (1):
>   rwlock: reimplement with atomic builtins
> 

Hi - for 18.11 branch, I applied above (queued for push) rebased to
remove the trylock modifications.

> Joyce Kong (2):
>   test/rwlock: add perf test case on all available cores
>   test/rwlock: amortize the cost of getting time

The function that calls these new functions is not in 18.11. Please send
a backport for 18.11 branch, or let me know that it's not needed in 18.11.

thanks,
Kevin.