numam-dpdk/lib/librte_ring
Jerin Jacob c3acd92746 ring: fix single consumer dequeue performance
Use of rte_smb_wmb() instead of rte_smb_rmb() in sc dequeue function
creates the additional overhead of waiting for all the STOREs
to be completed to local buffer from ring buffer memory.
The sc dequeue function demands only LOAD-STORE barrier where LOADs
from ring buffer memory needs to be completed before tail pointer update.
Changing to rte_smb_rmb() to enable the required LOAD-STORE barrier.

Fixes: ecc7d10e44 ("ring: guarantee dequeue ordering before tail update")

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-07-25 17:55:12 +02:00
..
Makefile mem: move librte_malloc to eal/common 2015-07-16 13:44:48 +02:00
rte_ring_version.map ring: support freeing 2015-11-04 00:49:59 +01:00
rte_ring.c mem: avoid memzone/mempool/ring name truncation 2016-05-19 14:40:14 +02:00
rte_ring.h ring: fix single consumer dequeue performance 2016-07-25 17:55:12 +02:00