Re: [dpdk-dev] [PATCH] ring: fix c11 memory ordering issue

2018-08-07 Thread Gavin Hu
From: Thomas Monjalon Sent: 2018年8月6日 17:19 To: Gavin Hu Cc: dev@dpdk.org; Honnappa Nagarahalli ; Steve Capper ; Ola Liljedahl ; jerin.ja...@caviumnetworks.com; hemant.agra...@nxp.com; jia...@hxt-semitech.com; sta...@dpdk.org Subject: Re: [dpdk-dev] [PATCH] ring: fix c11 memory ordering issue

Re: [dpdk-dev] [PATCH] ring: fix c11 memory ordering issue

2018-08-06 Thread Thomas Monjalon
Hi, Please start your patch by explaining the issue you are solving. What is the consequence of the bug on the behaviour? What is the scope of the bug? only PPC? 06/08/2018 03:18, Gavin Hu: > 1) In update_tail, read ht->tail using __atomic_load. > 2) In __rte_ring_move_prod_head, move the __atomi

[dpdk-dev] [PATCH] ring: fix c11 memory ordering issue

2018-08-05 Thread Gavin Hu
1) In update_tail, read ht->tail using __atomic_load. 2) In __rte_ring_move_prod_head, move the __atomic_load_n up and out of the do {} while loop as upon failure the old_head will be updated, another load is not necessary. 3) Synchronize the load-acquires of prod.tail and cons.tail with stor