[dpdk-dev] [PATCH v3 00/14] Make shared memory config non-public

Anatoly Burakov anatoly.burakov at intel.com
Thu Jun 27 13:38:55 CEST 2019


This patchset removes the shared memory config from public
API, and replaces all usages of said config with new API
calls.

A lot of the patchset is a search-and-replace job and should
be pretty easy to review. The rest are pretty trivial EAL
changes.

This patchset depends on FreeBSD fixes patchset:

http://patches.dpdk.org/project/dpdk/list/?series=5196

v3:
- Rebase on top of latest master

v2:
- Collapsed all changes into fewer patches
- Addressed review comments
- Created a new file to store the code
- Changed namespace to "rte_mcfg_"
- Added some unification around config init
- Removed "packed" attribute from mem config
- Removed unnecessary inlining
- Added a check to explicitly forbid running multiprocess
  applications that differ in their DPDK versions

Anatoly Burakov (14):
  eal: add API to lock/unlock memory hotplug
  drivers: use new memory locking API
  lib: use new memory locking API
  eal: add EAL tailq list lock/unlock API
  lib: use new tailq locking API
  eal: add new API to lock/unlock mempool list
  mempool: use new mempool list locking API
  eal: remove unused macros
  eal: hide shared memory config
  eal: remove packed attribute from mcfg structure
  eal: uninline wait for mcfg complete function
  eal: unify and move mcfg complete function
  eal: unify internal config initialization
  eal: prevent different primary/secondary process versions

 app/test/test_memzone.c                       |   1 +
 app/test/test_tailq.c                         |   1 +
 doc/guides/rel_notes/deprecation.rst          |   3 -
 doc/guides/rel_notes/release_19_08.rst        |   8 +-
 drivers/bus/fslmc/fslmc_vfio.c                |   8 +-
 drivers/bus/pci/linux/pci_vfio.c              |   1 +
 drivers/net/mlx4/mlx4_mr.c                    |  11 +-
 drivers/net/mlx5/mlx5_mr.c                    |  11 +-
 .../net/virtio/virtio_user/virtio_user_dev.c  |   7 +-
 lib/librte_acl/rte_acl.c                      |  20 +--
 lib/librte_distributor/rte_distributor.c      |   5 +-
 lib/librte_distributor/rte_distributor_v20.c  |   5 +-
 lib/librte_eal/common/eal_common_mcfg.c       | 149 ++++++++++++++++++
 lib/librte_eal/common/eal_common_memory.c     |  44 +++---
 lib/librte_eal/common/eal_common_memzone.c    |   1 +
 lib/librte_eal/common/eal_common_tailqs.c     |   5 +-
 lib/librte_eal/common/eal_memcfg.h            |  93 +++++++++++
 lib/librte_eal/common/include/rte_eal.h       |  10 --
 .../common/include/rte_eal_memconfig.h        | 143 +++++++++--------
 lib/librte_eal/common/malloc_heap.c           |  16 +-
 lib/librte_eal/common/malloc_mp.c             |   1 +
 lib/librte_eal/common/meson.build             |   1 +
 lib/librte_eal/common/rte_malloc.c            |  33 ++--
 lib/librte_eal/freebsd/eal/Makefile           |   3 +-
 lib/librte_eal/freebsd/eal/eal.c              |  22 ++-
 lib/librte_eal/freebsd/eal/eal_memory.c       |   1 +
 lib/librte_eal/linux/eal/Makefile             |   3 +-
 lib/librte_eal/linux/eal/eal.c                |  42 ++---
 lib/librte_eal/linux/eal/eal_memalloc.c       |   1 +
 lib/librte_eal/linux/eal/eal_memory.c         |   1 +
 lib/librte_eal/linux/eal/eal_vfio.c           |  17 +-
 lib/librte_eal/meson.build                    |   2 +-
 lib/librte_eal/rte_eal_version.map            |  12 ++
 lib/librte_efd/rte_efd.c                      |  15 +-
 lib/librte_eventdev/rte_event_ring.c          |  16 +-
 lib/librte_hash/rte_cuckoo_hash.c             |  17 +-
 lib/librte_hash/rte_fbk_hash.c                |  15 +-
 lib/librte_kni/rte_kni.c                      |  16 +-
 lib/librte_lpm/rte_lpm.c                      |  25 +--
 lib/librte_lpm/rte_lpm6.c                     |  15 +-
 lib/librte_member/rte_member.c                |  17 +-
 lib/librte_mempool/rte_mempool.c              |  27 ++--
 lib/librte_reorder/rte_reorder.c              |  15 +-
 lib/librte_ring/rte_ring.c                    |  19 +--
 lib/librte_stack/rte_stack.c                  |  18 +--
 45 files changed, 566 insertions(+), 330 deletions(-)
 create mode 100644 lib/librte_eal/common/eal_common_mcfg.c
 create mode 100644 lib/librte_eal/common/eal_memcfg.h

-- 
2.17.1


More information about the dev mailing list