[dpdk-dev] [PATCH 00/15] Patches for DPDK to support tile architecture

Zhigang Lu zlu at ezchip.com
Mon Dec 8 09:59:23 CET 2014


This patch set adds default configuration, compiling related rte.vars.mk
files for tile, and architecture-specific operations for EAL. TileGx
processor, as a SOC, contains a on-chip networking engine named mPIPE(
multicore Programmable Intelligent Packet Engine). This patch set also
adds poll mode driver for the mPIPE device. And to improve the performance
of memory allocation, mPIPE's buffer stack is used as the mempool provider.

Zhigang Lu (15):
  mk: introduce Tilera Tile architecture
  eal/tile: add atomic operations for TileGx
  eal/tile: add byte order operations for TileGx
  eal/tile: add spinlock operations for TileGx
  eal/tile: add prefetch operations for TileGx
  eal/tile: add memcpy operations for TileGx
  eal/tile: add CPU flags operations for TileGx
  eal/tile: add cycle operations for TileGx
  eal: split vector operations to architecture specific
  eal/tile: add vector operations for TileGx
  eal/tile: add EAL support for global mPIPE initialization
  eal/tile: add mPIPE buffer stack mempool provider
  pmd/tile: add mPIPE poll mode driver for TileGx
  app/test: turn off cpu flag checks for tile architecture
  eal: allow empty set of compile time cpuflags

 app/test-pmd/mempool_anon.c                        |    2 +-
 app/test/Makefile                                  |    6 +-
 app/test/test_cpuflags.c                           |    2 +-
 app/test/test_mempool_tile.c                       |  217 ++++
 config/defconfig_tile-tilegx-linuxapp-gcc          |   78 ++
 lib/Makefile                                       |    6 +
 lib/librte_eal/common/Makefile                     |    3 +-
 lib/librte_eal/common/eal_common_cpuflags.c        |    4 +-
 .../common/include/arch/ppc_64/rte_common_vect.h   |   73 ++
 .../common/include/arch/tile/rte_atomic.h          |   62 +
 .../common/include/arch/tile/rte_byteorder.h       |   70 +
 .../common/include/arch/tile/rte_common_vect.h     |   49 +
 .../common/include/arch/tile/rte_cpuflags.h        |   69 +
 .../common/include/arch/tile/rte_cycles.h          |   64 +
 .../common/include/arch/tile/rte_memcpy.h          |   97 ++
 .../common/include/arch/tile/rte_mpipe.h           |   67 +
 .../common/include/arch/tile/rte_prefetch.h        |   62 +
 .../common/include/arch/tile/rte_spinlock.h        |   47 +
 .../common/include/arch/x86/rte_common_vect.h      |   81 ++
 .../common/include/generic/rte_common_vect.h       |   51 +
 lib/librte_eal/common/include/rte_common_vect.h    |   93 --
 lib/librte_eal/linuxapp/eal/Makefile               |    7 +
 lib/librte_eal/linuxapp/eal/eal.c                  |    9 +
 lib/librte_eal/linuxapp/eal/eal_mpipe_tile.c       |  147 +++
 lib/librte_mempool_tile/Makefile                   |   48 +
 lib/librte_mempool_tile/rte_mempool.c              |  381 ++++++
 lib/librte_mempool_tile/rte_mempool.h              |  634 +++++++++
 lib/librte_pmd_mpipe/Makefile                      |   24 +
 lib/librte_pmd_mpipe/pmd_mpipe.c                   | 1343 ++++++++++++++++++++
 mk/arch/tile/rte.vars.mk                           |   59 +
 mk/machine/tilegx/rte.vars.mk                      |   58 +
 mk/rte.app.mk                                      |    8 +
 32 files changed, 3822 insertions(+), 99 deletions(-)
 create mode 100644 app/test/test_mempool_tile.c
 create mode 100644 config/defconfig_tile-tilegx-linuxapp-gcc
 create mode 100644 lib/librte_eal/common/include/arch/ppc_64/rte_common_vect.h
 create mode 100644 lib/librte_eal/common/include/arch/tile/rte_atomic.h
 create mode 100644 lib/librte_eal/common/include/arch/tile/rte_byteorder.h
 create mode 100644 lib/librte_eal/common/include/arch/tile/rte_common_vect.h
 create mode 100644 lib/librte_eal/common/include/arch/tile/rte_cpuflags.h
 create mode 100644 lib/librte_eal/common/include/arch/tile/rte_cycles.h
 create mode 100644 lib/librte_eal/common/include/arch/tile/rte_memcpy.h
 create mode 100644 lib/librte_eal/common/include/arch/tile/rte_mpipe.h
 create mode 100644 lib/librte_eal/common/include/arch/tile/rte_prefetch.h
 create mode 100644 lib/librte_eal/common/include/arch/tile/rte_spinlock.h
 create mode 100644 lib/librte_eal/common/include/arch/x86/rte_common_vect.h
 create mode 100644 lib/librte_eal/common/include/generic/rte_common_vect.h
 delete mode 100644 lib/librte_eal/common/include/rte_common_vect.h
 create mode 100644 lib/librte_eal/linuxapp/eal/eal_mpipe_tile.c
 create mode 100644 lib/librte_mempool_tile/Makefile
 create mode 100644 lib/librte_mempool_tile/rte_mempool.c
 create mode 100644 lib/librte_mempool_tile/rte_mempool.h
 create mode 100644 lib/librte_pmd_mpipe/Makefile
 create mode 100644 lib/librte_pmd_mpipe/pmd_mpipe.c
 create mode 100644 mk/arch/tile/rte.vars.mk
 create mode 100644 mk/machine/tilegx/rte.vars.mk

-- 
2.1.2



More information about the dev mailing list