[dpdk-dev] [PATCH v4 0/4] fix performance/cache resource issues with 128-byte cache line targets

Jerin Jacob jerin.jacob at caviumnetworks.com
Fri Jan 29 08:45:51 CET 2016

This patchset fixes performance/cache resource issues with 128-byte cache line targets
found in mbuf and bitmap DPDK libraries

Currently, we have two DPDK targets(ThunderX and ppc_64) which are based on
128-bytes cache line size target.

This patchset doesn't introduce any performance degradation
for 64-bytes cache line size targets.

- Introduced new cache macro definitions as Suggested by Konstantin
- Reduced the cache alignment requirement for 128-byte cache targets in
slow-path data structures to save the memory
- Verified x86(a 64byte cacheline target) does not have any impact on these changes by
verifying the md5sum of app/test,app/testpmd, app/testacl binaries with
or without this patch set


revert the cache alignment of rte_ring_debug_stats,
rte_mempool_debug_stats structures

replaced RTE_CACHE_MIN_LINE_SIZE with RTE_CACHE_LINE_MIN_SIZE as suggested by
olivier.matz at 6wind.com

For clean git am, "config: cleanup existing RTE_CACHE_LINE_SIZE selection scheme"
patch needs to apply first

Jerin Jacob (4):
  eal: Introduce new cache line macro definitions
  mbuf: fix performance/cache resource issue with 128-byte cache line
  bitmap: optimize for 128-bytes cache line targets
  cache/slow-path: reduce cache align requirement for 128-byte cache

 app/test/test_mbuf.c                                     |  2 +-
 lib/librte_eal/common/include/rte_memory.h               | 16 ++++++++++++++++
 .../linuxapp/eal/include/exec-env/rte_kni_common.h       |  4 +++-
 lib/librte_ether/rte_ethdev.h                            |  4 ++--
 lib/librte_mbuf/rte_mbuf.h                               |  2 +-
 lib/librte_sched/rte_bitmap.h                            | 10 +++++-----
 6 files changed, 28 insertions(+), 10 deletions(-)


More information about the dev mailing list