numam-dpdk/lib/librte_mbuf
Olivier Matz 6d714a237d mbuf: fix performance of freeing with non atomic refcnt
When RTE_MBUF_REFCNT_ATOMIC=n, the decrement of the mbuf reference
counter uses an atomic operation. This is not necessary and impacts
the performance (seen with TRex traffic generator).

We cannot replace rte_atomic16_add_return() by rte_mbuf_refcnt_update()
because it would add an additional check.

Solves this by introducing __rte_mbuf_refcnt_update(), which
updates the reference counter without doing anything else.

Fixes: 8f094a9ac5 ("mbuf: set mbuf fields while in pool")
Cc: stable@dpdk.org

Suggested-by: Hanoch Haim <hhaim@cisco.com>
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
2018-01-19 00:43:56 +01:00
..
Makefile lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
rte_mbuf_ptype.c mbuf: add PPPoE and L2TP packet types 2018-01-16 18:47:49 +01:00
rte_mbuf_ptype.h mbuf: add PPPoE and L2TP packet types 2018-01-16 18:47:49 +01:00
rte_mbuf_version.map mbuf: add functions to dump offload flags 2016-10-12 18:08:40 +02:00
rte_mbuf.c mbuf: check sanity of data and packet lengths 2018-01-12 00:37:07 +01:00
rte_mbuf.h mbuf: fix performance of freeing with non atomic refcnt 2018-01-19 00:43:56 +01:00