DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH v1 0/2] ring C11 library fix and optimization
@ 2018-11-09 11:42 Gavin Hu
  2018-11-09 11:42 ` [dpdk-dev] [PATCH v1 1/2] ring: keep the deterministic order allowing retry to work Gavin Hu
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Gavin Hu @ 2018-11-09 11:42 UTC (permalink / raw)
  To: dev
  Cc: thomas, stephen, olivier.matz, chaozhu, bruce.richardson,
	konstantin.ananyev, jerin.jacob, Honnappa.Nagarahalli, gavin.hu

V1:
Update the ring C11 library including the following changes:
1) On relaxed ordering platforms(like Arm64,PPPC), in ring C11 implementation,
   loading head and tail might be reodered, this makes CAS(compare and retry
   the flow if the head is outdated) not working as expected, the fix is to
   ensure the head is read before the tail, leaving no chances of the combination
   of outdated head and new tail.
2) With the above memory fence introduced, some loading can be relaxed.

Gavin Hu (2):
  ring: keep the deterministic order allowing retry to work
  ring: relaxed ordering for load and store the head

 lib/librte_ring/rte_ring_c11_mem.h | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-11-13 15:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-09 11:42 [dpdk-dev] [PATCH v1 0/2] ring C11 library fix and optimization Gavin Hu
2018-11-09 11:42 ` [dpdk-dev] [PATCH v1 1/2] ring: keep the deterministic order allowing retry to work Gavin Hu
2018-11-09 11:42 ` [dpdk-dev] [PATCH v1 2/2] ring: relaxed ordering for load and store the head Gavin Hu
2018-11-13 15:57 ` [dpdk-dev] [PATCH v1 0/2] ring C11 library fix and optimization Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).