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

Stephen Hemminger stephen at networkplumber.org
Thu Jun 27 17:36:03 CEST 2019


On Thu, 27 Jun 2019 12:38:55 +0100
Anatoly Burakov <anatoly.burakov at intel.com> wrote:

> 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
> 

This looks good thanks.

Acked-by: Stephen Hemminger <stephen at networkplumber.org>


More information about the dev mailing list